{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQEBLAEsAAD/7S4GUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAA\nAAAAAAAAAAAAOEJJTQQ6AAAAAACTAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAQ2xy\nU2VudW0AAAAAQ2xyUwAAAABSR0JDAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAABNcEJs\nYm9vbAEAAAAPcHJpbnRTaXh0ZWVuQml0Ym9vbAAAAAALcHJpbnRlck5hbWVURVhUAAAAAQAAADhC\nSU0EOwAAAAABsgAAABAAAAABAAAAAAAScHJpbnRPdXRwdXRPcHRpb25zAAAAEgAAAABDcHRuYm9v\nbAAAAAAAQ2xicmJvb2wAAAAAAFJnc01ib29sAAAAAABDcm5DYm9vbAAAAAAAQ250Q2Jvb2wAAAAA\nAExibHNib29sAAAAAABOZ3R2Ym9vbAAAAAAARW1sRGJvb2wAAAAAAEludHJib29sAAAAAABCY2tn\nT2JqYwAAAAEAAAAAAABSR0JDAAAAAwAAAABSZCAgZG91YkBv4AAAAAAAAAAAAEdybiBkb3ViQG/g\nAAAAAAAAAAAAQmwgIGRvdWJAb+AAAAAAAAAAAABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQg\nVW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAcsAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9v\nbAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAA\nAFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAOEJJTQPtAAAAAAAQ\nASwAAAABAAIBLAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAA\nHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAA\nAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAA\nAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA////////////////\n/////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////\n////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAADhC\nSU0EAgAAAAAAAgAAOEJJTQQwAAAAAAABAQA4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAABAA\nAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADYQAAAAYAAAAAAAAAAAAA\nBN8AAAM7AAAAFgA5ADcAOAAtADMALQAzADEAOQAtADMAMAA3ADEANQAtADIAXwBUAGUAbQBwAAAA\nAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAM7AAAE3wAAAAAAAAAAAAAAAAAAAAABAAAA\nAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAA\nAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAE\n3wAAAABSZ2h0bG9uZwAAAzsAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAA\nEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAM\nRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAA\nAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAA\nAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAABN8AAAAAUmdodGxvbmcAAAM7AAAAA3VybFRFWFQA\nAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAA\nAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6\nQWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0A\nAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGlj\nZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxv\nbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJ\nTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAkeQAAAAEAAABq\nAAAAoAAAAUAAAMgAAAAkXQAYAAH/2P/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJS\nR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gAB\nAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIY\nAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQA\nAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJU\nUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAx\nOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIu\nMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAk\noAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVD\nIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl\nIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2lu\nZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg\nQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA\nAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAA\nAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF\nAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA\nlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr\nATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC\nAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW\nAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE\nfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn\nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I\nMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB\nCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN\nQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD\nEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT\nxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ\nF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib\n2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs\nIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl\nlyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC\nKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx\nEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg\nN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+\nYD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa\nRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN\nk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC\nVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe\nvV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp\naD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx\n8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh\nfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH\nO4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6\nkuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe\nrp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC\nq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4\nWbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI\nxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU\nSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb\n42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y\njPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////tAAxBZG9i\nZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEM\nDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQR\nDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoABqAwEiAAIR\nAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAA\n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\nAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNj\nAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi\nWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAA\nACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAE\nPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2th\ncmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdC\nIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABv\nogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAA\nAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5j\naAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElF\nQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2\nMTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPt\nzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAA\nAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0A\nMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8\nAMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB\nZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJL\nAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3ID\nfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw\nBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8G\nwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS\nCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkL\nUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4T\nDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETER\nTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO\nFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y\n1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e\nHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h\n+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcY\nJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs\n1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLU\nMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5\nfzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0Bk\nQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI\nBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d\nUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9Y\nfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFP\nYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q\n92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTM\ndSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/\nhH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk\nisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW\nNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm\nopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGv\nFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7wh\nvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnK\nOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk\n2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/n\nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb7\n94r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////4TnJaHR0cDovL25zLmFkb2JlLmNvbS94\nYXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5\nZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBY\nTVAgQ29yZSA1LjAtYzA2MSA2NC4xNDA5NDksIDIwMTAvMTIvMDctMTA6NTc6MDEgICAgICAgICI+\nCiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYt\nc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAg\nICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4\nbXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3M8L3htcDpDcmVhdG9y\nVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMDMtMDNUMTY6MTI6MDMrMDU6MzA8\nL3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wMy0wM1QxNjox\nMjoxMSswNTozMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIw\nMTYtMDMtMDNUMTY6MTI6MTErMDU6MzA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgIDwvcmRmOkRl\nc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAg\nICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8\nZGM6Zm9ybWF0PmltYWdlL3RpZmY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+\nCiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnBo\nb3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyI+CiAgICAgICAgIDxw\naG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90\nb3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+\nCiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91\ndD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w\nL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu\nMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyI+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5p\naWQ6QkRBNzhBOTUyQ0UxRTUxMThFQTM5QTVDRkVFOTAxNDQ8L3htcE1NOkluc3RhbmNlSUQ+CiAg\nICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6QkNBNzhBOTUyQ0UxRTUxMThFQTM5QTVD\nRkVFOTAxNDQ8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3Vt\nZW50SUQ+eG1wLmRpZDpCQ0E3OEE5NTJDRTFFNTExOEVBMzlBNUNGRUU5MDE0NDwveG1wTU06T3Jp\nZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJk\nZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgog\nICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAg\nICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpCQ0E3OEE5NTJDRTFFNTEx\nOEVBMzlBNUNGRUU5MDE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0\nRXZ0OndoZW4+MjAxNi0wMy0wM1QxNjoxMjowMyswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAg\nICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRv\nd3M8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAg\nICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAg\nICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9w\nIHRvIGltYWdlL3RpZmY8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxp\nPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAg\nICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAg\nICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkJEQTc4QTk1MkNFMUU1MTE4RUEzOUE1\nQ0ZFRTkwMTQ0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hl\nbj4yMDE2LTAzLTAzVDE2OjEyOjExKzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAg\nICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93czwvc3RF\ndnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RF\ndnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNl\ncT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg\nPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVu\nZD0idyI/Pv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAOcAmQMBEQACEQEDEQH/xAAeAAAB\nBAMBAQEAAAAAAAAAAAAHBAUGCAIDCQEACv/EAFAQAAAGAgAFAgIHBAYHBAcJAAECAwQFBgcRAAgS\nITFBURNhCRQVInGBkRYyobEXI1LB0fAkQlNikuHxCiZjghlDVnKW0tUlJygzNDZEwuL/xAAeAQAC\nAwEBAQEBAQAAAAAAAAAFBgMEBwIBCAAJCv/EAFIRAAEDAgUCAwUEBwQHBQcDBQECAwQFEQAGEiEx\nQVEHE2EUInGBkRUyofAWI0JSscHRCCTh8RczU2JyktI0Q4KToiUmVFVjc5U1dNSytbbC4v/aAAwD\nAQACEQMRAD8ArfYYFvJY6LMNDiLtBs3dgIG7gogoGxDuAgPUXfb03x/Pup1xz/SPDbIKWZnmRV82\nN0kC/wAQRa3ocf6Ack1F6j5nmUmQbx3n3miFAWKHEqAtfbg3IPr84Zc7s4tOPU2h1PiKNk0DB3+8\nBkNEPrQj3AAHwPpv04N0rL36LeINNqzqChqQ4tlSjcApX7yQQehvb5kD1csnwI1MzZLaTZHnF9BS\nbC4cBKTYjqSNtudu+FMtWXD/ABilPoGFRRs0buQMBtmKq2OURHXfXcuxEPQdjrfFnN9eisZ8pCWi\nEe0LciqKTpuHQRYgc/eF7ne31oZKrCqVnup0WTszJkOtAKsAUO602F9ibK423HJFsPuRb4naMRxz\nUxupdojHn6gN3AyRSkEQ9QEAEd/h7gIcKtEoT9H8T6dU5GoMPPOxyVX0lDitYG9gAd/+b1wYyLRT\nRc/VDRZKZC5qCm1tl6ldrWNrgWHp0xEbJEyBscx1h/rDJIljHfUJjiHUiqmJh862AgO9a18/R7zb\nJgws80lMVSEKkIlMe4QN1pWE8d7jvv25xL4fVgNZ7r1BfIu4udHbBFvdcDmnnkFJT1Ow6YOWbbsx\ns+GodJMwC5SGDXMHUIiApCmUwh334N3/AIj54y/KkGc14uUaROKzHJnRAVG40PbgX2uDbbfftscA\nvCugvULxDqxCQEPJqrZ5A/WJcIB+BAAPTta2BxkJrLMqCzfqisLXqizCIifpFM7lubex7BsNaD39\ndb3p+Zo0CBnzLj0PSl1xM21iAQ422ogbHmyifmfTFnwirjU7O9cpjoQHWhUEoBAvqQl5BA2vfk7b\nc/K2ebbfCzeBZFsgdMzh5CMCFKQwdRVOtoJv5DoQ17DvjJafJq1V8V8iRJynfZo1ddUorJ0lKo0p\nkcf8Sbg7/PGceEeXJNF8VxN8tSQ1NnqUrTsU+XItvbqSPx62wC7A/nariwximXI2ZRZU0w2fXQVI\niRQ1sA1oQ0G++9fLjVvEzLVONYys+zYuSa8zcbatSUqfJ27FB9Nr4O+G1diZp8WZUN5KNbs19aib\nXCg4tauRubg+oti69Xe1dTAsWKgoAqaktPibEOsXARBOvex/e+IAiPr1aAN9uM38Sc71ictGXBrt\nPr8SITuCpCqqyLXtuNA/n1xjNQy3MV45T6ikLKk5pkOoO+kI+0VEEcptpsPQbbG+Ks4hsU7TsYps\nmyq6bcG67sTAY4AIOjndCPyD+tHwO/PpvjUPGzI0d3LdQqHuKWlEZlQA6JW0wAOpv934n1xqed6/\nS8y+MxivIQtz7QahbgH3mFJjAdbfcHr6EkXtxyyR8DcsWltL4SHfTUlYXDhQ5w6hAZN2mQDd+33S\nAIj8/AhoeKuYvE05RyiuhqASqn5ehwm+ySKW0gK69VW+V+b4xH+0nl2cjxdbgxlKTGp0WiMoQgEI\nPlwYylWA2HvE8dsCjFFxkcY3fMTaOVODJ7epFdACmESCkizaNimAd60ApGDe+2td+KzXh8/XPC3K\n9RUkh1OU2HVjcHU+HpSj03/Wg26X6cY0fxeqlLrEDwzp08o9qgZVpcV69tSVrcdcKSNiLhYPA9L3\n2N+GEUc02C6W2RcAq7iZFpAGAxxEQ+rtCuhKIiPYA+sa9QATD8uGfwYzXTsh+GFCpE0paIhzZhUr\nYrD82SCrfck6SDwLjnk4xz+1DQ51CpmQqVSUqbjzaQKpZFwkiRIKEq2G2ryr3tuONgbZ1O0L4W5k\nbo3KsIx0pTKufp6h0Kn2jPHEADv3IBw36aHxrysZcpczOtBreYKUHGkS845mltLb2CmlNwWkkWNi\nFFk/Mk4N5jiw6v8A2d8gU6paDPp9brYJctq0uRaWL73NiUqA22O99jg7z1jLzELto5BTR6NLEfD0\nm++Kcuzkm5TeN6MLcQ7h26fAb3w7/wBmKotZeZzdFrjoW+c0VhpCnjuGmjDUlN1b2SVE2Hf0x8/+\nK+XpuQMh0SsUlJtmemzYKi390mHLp8gXte5Gu9/UgbXwMZAr7C+ccWzS5zBGykfa2DrrMIlMANG2\nurfbsJSnL8y7D3ExnNAzBnCs1PLZCnUUultKdYsR5kWpzUqTdN9whwXvc7j5MHg4+rMngL4kUKuk\nCUh/LdQipctqIE2W0tSb72OoJO24I64OGXslscoVpWjQpyqSbhxHyqIkEBMUkc6ROsJdCI7AhwER\nAewAIjrhU8Glzv8ASpmZvM6ysRIVJdi+cdkKkCosuaQrYaglIIAF79cL1Myk5k3J8rOcFGhmE/Ih\nuFCT73t8CZHAVb9kqKfja3QYE5H07jGy44s8iquZg0tsayeCYw9IJPk3DUeoB7D2UEe/4+muNO8W\nHIzOY6BMoSk+3NRqikpaI1lAaafAVbci7Suf5YC+Brhz1SfE3L89oJTUsq1ZTXmJtdyNokgJvwf1\nW1rqAPO18XS/pLqP+3a/oH+HAT9Pc2fuPfjjK/8ARFG/+HT/AMo/pj8wbGzrs2MxVFjgJEvrKJCn\nHuBTnPrQewGAB9tfhxjVUy2ZApWZ2kElCmn9aRc3ASVXPIPP0PbH9dZLcdNYh1SwSp8suAg2uQEg\nm+3IuD69dwRHsdQJp1hLRquhUQXXECGDv0HOYPugHkAN/EdbEeGfxJrcYUmmVFkpDrQYUVJtqCgg\nXuQL8je/fnF7Ms9dDzPAqbRIYlttBSk8a9Kdzv8AH1Pe2CDWLIm0p0/Tn/ZVqZ63TKbW+jyTsPsJ\nQD8wHzxmGYKZIqcuh5jYJU2hUaQVJ6EbLBN/mdtuthjusQk/pVTK/GOlEpEZ1ahwVHZQuO1ySD09\nBgT1aMdT8BLMidZyNlXKQEAOwJiJxJ2Ee3SICAbDx27a41vPLkKNS6LWGtCX0+yuqVtfUAnUfXjf\nfe/bDHWKuaDnunvqVZqayy4FdPNKAFC9/wBq9+b7n5meAnWkrg2TgHhifXWKLtsJTCAmAW6m/I9+\n3SI67aAf1xzNAmu5xoVVRrVHEiO9qF9IQ+m178Abp42G/a2Bc2nu0vxUjVePcMzVsPFSTsUvpuDt\ncG5UN7He/S5AgJ9pS+POsDHOi3an2GzGDbMwGAR7+OlMB769R7ca5muFDpU+g1hjSlxUplRVtcec\nlN9+xJPPBB2wzxKozTPFF+A5ZAkq1oNwCfaUAEDbf76gel/W+LRXKXjLDy4JHIKYuiQTBQQ7CoCz\nYUhEfID4Jv2/jrHpVRnyPFHLYkKcLEesOskq+55cgFIvckW4569L4znJ1JkUDxolrSlSWpFTmIJs\noJUh8rt04uqw+nU4Cdkk5VXHaaigqGahHtVB2IiT4fU3ER9fTz6b7/PjXMz0KJQ805ZqTGkOCpr0\nkABQcCVKA27nja+56i+GnItShueJ1VpSwlL7cmalNxvqSXRtf0txY72ucW9y24g5Ll/fnQFD4y1b\nZHSEvR1/GMm1MbwHnq6vPbQDv03lj2ZKjXPETJFLf1+UzmQBwG+nR5Uhq9zcEEqH4C+Mh8K6PJo3\njMJQQpIFWmpcO4GhSpHXtYW672A7YBUpapqvY1+AJ1StmkURDsYwFEoNyoF7+NDsO/tsO3jjQfED\nJ0RisZanN6SpyvRnCbb60u+f3H7l+bXHHOHXI86nZl8VJcUpQX3Jz7guASFIdU4bc3IKTYXsfXpb\n+vwdcUwkwXEESqmpbVY59lAwrfZJDmEdB+8Bu3nYevoHCl4l+IkuoNjL6ArXOrsOJbqUmrMpUkD/\nAHk3Pr0xh79Lnjxwl1H3z5WaX1JFjYI+0l2243TuO/wJxXnCl9mKVjJrGoqqpppouXHTsSgAOFVH\nGy9+wiCngPO++/PDF40ZBDtFnTykWKYzSrX2ALTAHrxbGvZ/k0fNPjAtpZQp1U5mJuASpTKUsaSd\njykgfyOLM4SrEXdqCNycKlO5sDuXeKmN3MO3rhIphEdjsQT2IiI+nftwzTvEeHljJxortkuU6gxY\naUHYXRTW0gW+JvY882PGPn/x9plUi+KqKbGK0RqWilMBAuBZEWOsgAbWuSLcc88YG+Cr66xjZMux\nhVNt1b7KnSARHpORugg1KcPAAG0jB27emh7cKVQyZNqnh1lyoshaAMqsOqCQRYvJekk7D/6l9z62\nxsXjMmmZhi+Gcd9SEyouUaRGcCrBSVLKnSk9d9YO+99yN8Fyjsz5ptlnuZlSmPHqMYE+hDqAzVuL\njp8dugHIG12EOoOwhw+eCFcpmU/DCi02oLQh5TE2a6XNisvy3rrJvuVBAAPB0/EYxH+0ZT6hlSk5\nLoVNSsNSoK6mNIIT/eH/AC9exsdYaCTxcDbi2HbGlsVxHnK/Q75TTCQrNUcpdRvugoDue+8G9BsS\nm6TD+G/fhEpkabXKdW65QvMQ3Izbmd1K2rgKaKYKUm6eRqbJAAuOBg5m2lxcyeAfhsiaEmfBqlfa\ndCx72lxulkA3ttdJOwvcEdTieZJmS5vlIAIcQFSmvXhnJyCAmKWUQXKQdh6GBDpIA/MR9uNH/s4z\nW41LzB9urSqYqvVaOFPEavJYlpUhPvXIA8w/M8dDjGeqZN8NclRpkNCkt5np4YCWxZKjAlsugnpd\nJcJ68gC2ByxcvsY5qx24kxP9my8fZWionH7g9DJAQ3vsIlOBTD1aHiDNYCs65lqWXrl0Uyh6i1uC\ntqfUEKB09dKhexuPTjDh4ZuDOPgBn6nVIBMqNPy/LZS4LEpVJlNrKQSNrG1x1v15OecrdGXOolr0\nIJVZYkrCyjcERKY5CM3pBVOGu4aBQNjvsAj7cAfCudOr/iXWmsxrKm6bBhqjIeJKQZaJzKwArgEN\ngepIGwGFDKeXnMiUCoZpjNhuMhqfAfWNgtM6BLbSkkc+8Bbc72ttbAM+yLn/ALV1/wAR+PrT7Jof\nZj/0f0xjf+kdP+yV9D/045DAQ7m7fWTH6UJEuzCICJQE59b3vXYw9vkPoHHy/GmMtZUkUl0Dzooc\nQ2Cd9grSAObnp2x/T6aRJy6w+ybvwVhSCLkqQkggDra1x8frgkswGh2BF2I6ZyKR/iCH7oiYxR77\nDWwNoR3v3Dtxk6CvNNJnU65L0RZSE7lQSAQNhc9Pp644kyU5lobZJPtENTZF7agAON97WBB72G18\nDqxPviXo5WgiVGVIZQAAdAJj6ENa8/e2Ude/YR9dHydAZdybKgTAn2mCkpQT94AIULb9bjsdz3OD\nry3v0TjTEnW7Tnm0qF9Vmxe477c/yscTnFyiNcsslESIAmjJt1F0vidiiJhERAOrQbHvsfn8+EDN\ncqTVMtrjsFS1QV+SUpNyNJuk23sLbfO2/TjOCvt+iUitxTrfguMtrKTdQASLXIueeCLX42xBXDha\nOslkgWpzC2cKuF00yj90wLCJT9Jd6Ht30Ab+fDhRqU1Wckxp7gBlwGUIXq3UC2NSeLkEG979MMlV\nnJTTMt1xwXKVMRnnDykoCSjUe/Q34+NsFTD6DR9SLZX3pS/WWRXRUwN0gJQVRUEohvvruX1/5pHi\nBXJTkOjFtSlNoXFXtfYtOJSoG3pf+PY4X/EAus5yy1mSKSG5SYylKSdjoUlKrkbd+b8XPcDCOmpB\nWmSleKY50Wn1yP0AmEAAgn6NgGu+hLrYe4+nDpVaAymLSczoCQsOQ5ZVbfVrTq37kpUL3w5VKREg\n59pExYSlVQ9mloP7ylgBfO43uCfUHbpYpuxjJ7l0O4AE/rZK6sQTCAdYKtO3f1AdE779tB3DupZy\nzVIk5poMRV9LFeiFViSC28NJNth1G/AvydrZZHjyaF49uy0lYZkVVKiBeym5PO1iNyq/c35OBNKW\n2TdYySaHUOZv9lIFEOoddJUkw8a9OkBDXj599uFayo1RcwUCuISkLRWWVhY2OoqKhf1Ivfj44fKA\nuA14rS4I0JkJnSFAG176lkeo+9vY/MYs1lSHh1sEv3zYEwXNXWLpMwAHUKqiTY4h6DsROID8+4dx\n7rdUzg9Xc35OpGk2/SRDbgJvsEyGyeTtwQdsYt4VQplK8bDIUpelVXntLSb2CCqQNiTtbb5E24wL\n1ciSsLjUjA6qpEG0MRscBEQDQNSpAHnXcRHsGv8AC3nfI6Itey9P0JPmV6M8DYH3kvpfAIt0037W\n2vjQcqppeYfE6W0gNrkqnuvCwBIUh9SyT8ADvzvvYWtYeKpUP/Q80eEMBVlKei7E+w7KDFFV79g0\nO9gPf+WuJfEnxDTPhmhtjU9MrUKIE8myqmykpA5Nxva3A9N8S8mojxwem3UWms0uhKLGxR9oqAvz\nsemwGBxhHKD+m4rjokyhilatlzlAwjopVllVx868gfqHzryPkeBni/kaQuDNnJStKHfZ2za46NNA\nEXNuCngX4366x4hQ6TmnxclAKbU89NbZIBBKlNIQxbqdQKe3oDwQTsVUxK6Vh/cvigY9hkpt91AI\nCIiaQdFAwiHcd9HYA9u/y1eoZ2pVDyQmlPKQhdPy7FiBtVh76KY2kJA26nfv05xh3jgKrA8TotJj\nBQj0tmkRykEgJS3EjKKQNgOTtbk2G4vhDy5ZCUx7IZRiHhhFP9u5YUxMIBv6si3a7L4+7/VCGw89\n/XzklZy/U5GRqBUIXmNt/ovGcVoCgP1wdkgm2x/1gO/fodjrvjnTYGY/9HRJQX28o0hlaTa+pepw\nhQO+o679ztt3nTZq4yzcp+5Mh2kgkxhDmTHf32RVVugdf2frQj/5tfPjU/A2XTaJ4YUqFUFNiU6i\ndOfLlgpS5Eh33lA9SEJ37D0xhvjp7fkylZQy9FCyhxhyohKQdI9pWhsm3QkMgX52vcdVGGLWeg5d\nyTXplQCoKRtWcIfEMHSBzBKnEwb/ALZDl7/r27cITS5yabOqlA1Bl/MeZlAtcFHtEcIVcbAXSbHD\nbn6ix80eCPhfJfSlUtl2utPJUBqILkEJSeSCkp26HfpiZZkkk8ky9TWrwgovWHUiLlRPQiQkggdM\npfujsoHBEddw2IeeHf8As+vJqEDMEyvELlvVadD1PbqLUOWpTY9+xIHmXFyQAdsZHXkS/DTJThbS\npqNmKGyhLaQQHFwZSXOByR5x/Ha9sQKtSj2o5fpradMYWMvF2BA3xhHo6kW7U6X7w62VQO3YdAIa\n78V8yJTR855iqNE3V7BQyoNb6iJVQQ4DpHbftcb83w3ZKWjOvgHnRl1ATIh1ShvNgj3i265MbXYn\ne1u3Xbti6v7R1n+23/RP/HgV/pBzH/s3Pof+jHzl/o7Y/dP1V/THCJnFJqxaUgHZ01TN19u+gHYj\nvyHoYPTyHpvhYqtTWiuKYST7NMXdJB21K252GxuDz9DYffUKYqM7Ipqzdla/1RJ41EkcnexuO9iO\nb7N11nySteEoCP1uONow7AB6RL0mMHroR0bx6j+IlcqUY0jMXnuJHs0617iyLqJNyP8AOwvfBPLz\nQjznYxUAzJSoBP7qjqI+huLgdtxziEMm7l2nFzgAYxmol6zdx0AaEd9x7bD8AA3fXDDXJLVHqUmM\nwQhuYkEAGwJIII2AG1+3PFr4NUiZZNWoEuwK1q8sG3vJKTpUO+xAFuwsb2xP8hvUUWsFZWJilVIi\nCawk7CHUUuwNodh3EQ7+3fhEydEU/XqpSZd/JlOakah7tzcAi+3PYbdd8fsoIcLFWoUi5CVLU0FH\na6SSkp5G3oNuu+IJDOyr3aNknX3kHxUkFTD42bQefGxAQ1v8+HdZXQIVXpCbaSFrQngFJSb7b8X+\nHPXBmQU1bJE6A2f7zAkOOJSfvJLRv/6SOwPTE3mXylGusik1OJWsy2ROUAHRTCCQgb5dyj3DvvXf\nvseEPL1NTmqkvMupCnYT79gRchJUD2Ft9x6HYdMRxHE1zJlPkvgKkUlxSVrULlKdQG999lA9du3T\nGeIY9rOPLbGuQ/rBXVdogOv3VB7DrwIfe1v5eBDsLFmOsqg5QbgqvdpBZsedTR1WFuDYG3B339KP\nibIeQjJldiqJDKGmnFJJP3Sk2JF+LHvt13udULa3cNWLFTjKG+G2XlGgJ67dKp1BTAN+A0YBANaH\nWuAcjLoq0Sn5kQm6kIiSNfNlMaNR2v8Au3v63tvYMtdjxXcx5er50gzWoD2sm13GwgL3OxII4t3t\nvgh12ts53Bqj0uhdJQr5Ee4CYFmqaoa9fAAHsPb32HB3PGbELNLiagHG6pTHDsNkLUhJPzvf+XUZ\ntVX5dG8fWZwJEWRUYiyL2BbkhAJFiNjffob29MROWyC9fYsTiFVTCl9koNzFEe3SmiQo+ohoBKI6\n8eQEOK8jKP2VmKiV/SbNVmO+hRG3vuEgg7WJSq3rfGgUeDAi+KzqE6EyDPecQNgSVKWQbEjc6um3\nY4M2SKrHlws+lG2vijAMnhBDQ7FUjc4gOgHz1Dr0D04sZgza3WcxZTpbZ1FWYUNrHVNm32xxbqB6\n272xjnhSmdTvG91x1avKcqtQYsq/ujU+E2Hba1+DsbjrHf6UH8bjZKKOscE0oQGZ9iOgL9TBHpAf\nHYRAAAP4duAebckqj5hoU9xu6F16LIF72OiUl7e4tf3bnrbrtu/5fptNrHiZKLWhT32k8+Ei1yUy\nC4dr/eABO/x35JO/YJqjicz9JUoKjVive2v3vswFhANevqPz7jr0a/EDPEOfBbpKAFvS6xBiJTtc\nBVRabNvXbjrvsBvjHqc/UV+OHtCypUZOaFoA3uUmolI1cbbbX3564b8EZUWqmK4uLcG0LZBwYvUP\ncoLLrKjv72tD8QRD8Q323tG8XcrTizMkNlxLb5Ybsm4SfcbZsLgWv92/a/XjT/EaiQMy+LE1bakK\nW9JZQoDSSS0020LeoKLbbi3xw9Y8p69piJW2IGDpnpadfEEDdjCaRdFE467DvpDvofQfQA42idXq\nPTMht019TaTAy1FjaFaQQpFLbGkA2OrXvv3+GMf8ZqhUqf4kQKQyHCxTI1Gj7EgNoRDilSQOARqJ\nIHW43uCX7luyCSpt8iRMopoyN4mRTExg/dQI3biQNiHYPhdh152PrxjFahVVjKVFk04uIZVlqK4r\nSSBqcS8/ckW5Cxfa9j1vjSvHigRcwTshPNpQpz9FKO2sWudawp0n/iPmb+nptjByV1eci2q2ROyt\n1E4mNOdMexjMWZh6REBABMArG2AeN68DxsPhEzT4/hlRGahoVKfYmTXysJuXJUhZWTffcIA336jG\nUeME6Zk2h5Py4kL0IjvzUoAsLypAuoD18pIF/wAbXEiwlafsTJGQq9OnHSbStrtwWHwZROSE4h1D\nsBOUxREfOyh8uM4iTJdGpsqbRiosP1/Mtyi+kpblNJQo2NjwU9Lc9yGDxOoLOZvB/wAMZ60AvLFY\nQ+Lb7PRAi4tcFJSQPUn1xIc2PELBO0p7Xek7mFPLguZAe6ZHiRCAAiURAN/B6tj7B6iGnPwTUMzx\ncw1Ste9IenOwR5m/uwpLhTYHfl0gdbc7HfMHHn/DjJFQYCC1ErsaGUpsQHHIUlargbA7PWJ7Hc83\ni/1yz/7Vf/iN/jxsH6MUP/ZM/RvGNfp4j9xX1H/Rij7ybTh1RamEoJLAdI5d9hAxdAYPcdD+Q/gO\n/maFSV1eO1KsfMYWCb/eBCtx8Pn34x9rLAcWHwdJ91YUNwFA3IO3Fx36WvgVomWdTL1iPUZNx1AX\nYiJTAbsA69NlEPzDwA8aTNUyijMvjSl+IEknYKsnk356b9t8G3XFMCDVGraUrQJCd/dN91fXf59c\nFKnt0W7B3DPgIUyqagJAYPvCYAMUQKBtDvuUwa8h31rjJ8zS3qh7NNYUVKjuo1EH9m4JvuSeoPTc\n45rD5FQi1WPaxKA6UjYpJSbm23p88C+ekF1m8hCGExvhG/qSiIiPUURDQF8j1a7aAfPYONCp1LQ2\nxArzOzg0B61gRuDcW5IPf1w2w5TUKrU6WqyWp3uqULAXVYe92+Z6HqBh/jowjylllGwgD6LUSOIF\nHZg+EJDDrQ9QD0iG+/YOkQ8913M1XC8wxdf+rlp8lZ2sokFO/HHP8+p/RJH2bmqTBcv7FVg4Ug7N\nlToKTa+xN9+vXfDNcbEWcdVx+ocoHIui1VOc2hE3YhSdxABEwiJSlDuYRAAAR4K5SgHLtQlFQszK\nQpYB+6rWOfU8EWufntg7QoAjxMw0fkLjvvNpAPFtRVbsBZV7DTvfqcTiKXUodrjZEBErSWjlSHMG\nwIcRADp7Hv8A6o6D8PQd8K1baTXFVSA1YluT5rYHQK2Vba2/NyOh24wuwAcx5Pl05665VImJ0gm6\nkpSog2vvwAT1t88IIZmnZLvaWqIhp0QjxIoeBMIGMfp/Iw7+Qb7cNtCfTTcnuU+Vs400+0ArYj3f\nc+BulO3qBjzPEl+HkzLM9rUXKfLSy4U8hIIFj23A2vcYmVOtpq3XrTTnQj/UP5RJMhhAOlNyQRDQ\ne2jD29/A8ZvVqO9WhCqbJKkpajrVa9tcZYtxyRoFyNrC2+LeYYLdVqWV8zoteTDp61r7uM6Qbnv7\nu/J+GEMPVQmcTOJNLZjpR0gAgHcQO1FUBKIa7D0gAh/Dv341XMtfjmkQ2FFPmtyaYq3XdTYUe9ub\n/wARbCxX6pJpXjvTHUlQiPyqepSrm1n0tgnpsSevr83OWyOu/wATJQih9gMI2aCOx7gkkmAAOx1o\nAIGt+RDQ+3CGrLLkLNNIrKgfLZrLMkXBIst65IPqFW6EA/R4pVDiw/FJ19ISl01F54Db9ta1CwHH\n3j+SDiT5Cp6bXFLmVQMAmCKZui6EPvFW+rj09u/YFA/Dv379nLM2ZY1Uq2WYDSgpxVbSggWumzb4\nHxuQPpf4ZR4Uy50bxtfEgn2ZdRqTIJvynz7Ej5Dt8hhyXym4b40CJUVDQwH1AwiI7APqPwCh3Ht/\nZ36gGt8IVbym8zmahy3Ur8r7eiSSkg6VBExDyjbe9tJO/r2Aw70CgwZ/iRIkMhKnUVVcqyebplea\nSflvfji/G7onQ1mOMzyaJwAQroPQ12EAGP8AjCAa0Ow7j38Dr37aB4i5pps+EzTkaFPSaxBjJSLE\n3VOQg/K223fjoM1o9Smu+NoL2oxhmJbRUSSFJM4oAIvsLC29/n1kmCcnI1/GETHuhATtknehEwbH\n4zpwtsQ2I/6+/wA/YOMy8U6PVAiYppbiGXksM6Rq0gKZbZNrcAgEeh26YePEzLEfMHinNfaCSp59\nhJAAVYtMNN2HN90EbftDtvhqqFckJhjNWRmBgRmpaaflEm/vmVkHICPYQD0AN+wAHoPG3z5NHh5A\nagvFkLhZbisHUU6gpFNbtzyST67npjOPFeuToHiLSaMkuFqmx6NEHJCEIiRrg8AWuSQbWvzbEs5c\nLu1jYu5MpZQPjJ26U6TqDsfhokRbgn38AUUh157bDxxkddeq1Jy7SjTitLAoEZWlOoJBWHHb7bDV\nrHxt3vh58fsssVqsZRdaQlVsuUtKkhIP6xYW6pW9xdRXv8jthlkHDqcyfbp+DE31ZVKHZmUTEekR\nZsRNoRL4Hawj535347aX4XUyE54a0b7TKVSpQqc10rtcKlzHFK+9v+yN7HoR2wieJ1TfyplbJWXX\nE2DLEqShHrJlKvYHYizYva/wxMMNWZNa73aEnT7OzbQqrcFh7gKxXhlgL1m2GwEvj09O/CRS6k9l\nemPvU4KUw/Wq/fR90+XJbSg7dDYi4/paz4q5aZr/AIW+HdQQ2AZKKl5wSP3VsBBNv+Ej62xaH63X\nv7Tf/jL/AI8CP9KlY/3vof64+av9GzX/AMOfof8ApxxLmZNWYbpOUjiKiB+lTQ9xABHpEdeofn2/\nhqFNZao7jjDgs24Cd9hudzc2vf4fQ74+uYLQLj0Z0aUuJAH+6oAHb0sL7jjbriTQrE51GUkAfe6S\nlP28HLoQ38hANBv04V6vUtD78K90LJ0i5spKrj8L9eDb0xIl3REk09w3UhRsD+2ncBXYbWNrXuOe\ncXIxJJY6aVTIo32YqDRtZ3mP4aAhrFYDQ6MtaK2rbrdFEsKjBw1l4HHis82rETcbYV5EMWrKUPHj\nLtFVHDhj7kSnxXV1aDUjHUzMchojsvu6VOONKkSBrSlSXURA4GUPvgtosvy0uJVcpznMBrj8ijt0\nmPUnXaW1WpUqVDie0KjwJqKdTnjEDyHI0qsJiLnSKZT/ACpDrjkcPezLQEIdmkax5Q2E3ZLJESMM\no8/ZnKcHXq5DZEKxmrQD2yR8XJWpvcJa3NGkM0/YmwzldxzS52NjrVKsqlMWRmyyOjbolNHTXFUe\nkU2dESUgNtTUsMIlpQ44CspDiH3HgGv1Di2o7DgDziY61pTK85OBjsrxFq1IgRH2ZVotToMyVPkU\ncuxqcpiBIfZpy6bGpy3pLiqtCiTK3VIz79OjuVKLCecoiqdILi6mWfD1fw9X4O9zFGmUnWLICvjS\npGXfx8mtecYDzfXdujY42DcRc/FV2ZnbniJlFP0pVija1ZxCux75RWPmSRmeRVUytUiI4+uLJeis\nshyGtxxDom0r9JpDYfQytp9thx6ZTShaXEJkeaGUqJS6GylRj5mqNedqtIjVeK5HzHMnLrDEZl5h\nFIr48MqQtUGRMbkwpE6LFpWZnZDCozy6cmIuc+yEvxjJXSGO+UuvsSyMe7qMJE2yNyc+pU3GZBtz\nmfslff3PmPpMhHSzFzNPGzOhsoWuY0ialKhHtH07MfaLR5KTi7mdKz0eomhR6ZFkKcYZSWpKWHEP\nu+Y4ytVQjlC7rJDOluOhpR95agUqWsldv36TeJT1ZiuvIqUp+KvLsSrxZFGpqIMOcxRsj1hh5h5u\nK2Xaw9LnVyTUI5dcaiMFlbUeIhuIXJC/q3J/kOnW+eaNauygqjBSczZXUHab6tIY9qsDfFa5G2Ki\nldzMoM1LS0EZm/tbOwftGoQZCCkIeHZDMpNTJlHp2XxmCfLZbjpbdY85/RImL9mZadcbbfiJcdWl\n1b4LSpiXi9p1MrZbaD1jPTp/ifluvw6cp2ouzK5LjRYLMym0VEevVKdQxPkQawW4kcRI0ad5rFMd\ngfZ4PkTWZUtwRVuCvltaYTqcTDT9cTxtH3yRvJY1Vrjm6z1qbiwPNZZbzzACSVhn2amP42mx+EJa\nk2cVPtSfsdkuSbqSeOk5mFrHmfY8BulTG6eYrcwrbdS3GfW6SA5MEhJQpbiRGQymAph0AKcddfBW\nshaGmagyM3V9FdoFTcrsikU6muSh9u0qFT3ESQxlp2A8PZ4MN9Nbk1J/NserwADFiQYNLU0wygRp\nVQq1Y24vb/OosTAJXrMj0oJ9wMYBApxAA9wMPz7D39eA/h8ltygPRpgGttbzadQ3AUFEc+pHGxvj\nQqnMcgeHFMlm4cpc0Mk8FLd9ueB1+Jt8Z7jiwoxdMtNYfH6VGzt+kmmbv/Vu2wGAAAfAdRx7j28+\nO3CHmaPKkyYy2Lqa0N6wL2C47xGr1ICBb/PFTMcIViq5UzOyNRkwqc4tY6OsOAEk7b+7uLgnnjA9\nZV1eQx4tIpdRiJMXphAB2IfVjrFH3D7oFD5+PQONhrU2KaFFUdIfaep6gdgoFRbCrnnck39RjitZ\nhdpfjdSY9yGZb1PJJ+4Q+hAN9upNzzbjpgjT+QySWJUIk5wFRSFYtVBES+USIhrQd97IG/w7+usr\nYosljN1KqDtywzWUPpFiQAp1W9ybAWV6c7DrhgomXWoPie9LQNKhUZTyQBvdwum4PJFlX67nDfkK\nprRtAXkSdyAiyOPbQdC5kQDQjrto4APYN79eNLzJV4c6dl6M1oLyqgoAAgkaGXVb23F1IuOnB6YQ\nvCOrS1eME5iRr8ov1NCSq+kqbS8U87CwTdPfm18EJ1kwCYyNFnMAKHrpmIDsO3+gfC8CIDv0+fft\nvjJ6rl+T+lVGcd1mOquxX1JN7FKJrbt9+m1/T4g4aKFlqPK8RHJrRBLdXVKVbkkSw4enHyJPr0i7\nepyMbj8ZNPZUywgPCgA+Ci0BXYgAhr1H3DYiPrxrPiJVKVLgsxUFsvu1SJHQE2KrmSls9b2tsOnH\nrhQo1bly/Gr2d9S1MqrzrB1G6Sn2pSABzb3Raw26c74LuFsgsY3F0Q0eiAKoIOgMJh0JhVcrqgbv\nv7oif17fr3x7xHZqzapbDK1iO/5LOkE20lhDZHQfAdNhbrgz4k5VRWPFCdIZCVFyQztYHT5TLKAk\ndbDRyNr/ACwKanGyarWZl2RVAbyUtMPg+GA9JxUfudiAh57FAA7aAPTYaDdq7EpTeSksOlvzYlAj\no1EpuFNwGyLj43GF7xJzRIi+INNo6yVNwmaXDSk7gIRFjbE9Nyb/AD22wSeXizMTRttLKmILn9pH\nQAZXQm+EgggiQNj56RTMGu38B4yisVWpUChUlmDrSwmjNkhHALi3XDYA9Qobj487YYPH7K7dTq2V\nS00FtoocMaRY2cdW46rYX5Kxt/MDEVkH64ZRuUrCCPwFixLcTJb6RFuwIY3jWxE6ptgOvAAHDx4f\nURipeHdKeqBBkSTVJR12NjImvKHPokdfx5BZ9qpy7k3I1BkoA8mPLeCVW2D01aQm1thZsW2NuvW8\ng/aef/2q36m4TP0ahf8A0/x/rhR+1oP+xH/J/hil8IwOi5cIK/eRVMIbHuBREREo7+fgfQfH4M1Y\nqRkxUOtH9Y1ubHcpFr9+Ph/TGhy3G2wxITsvSNVuVDck2B54/HpfBIarosEioHECFOAFD/dPrRRD\nehAPb8hHfCoppyohD6QS42Rc2N9Nxfm3+FrYBy1q9oD6TcK35sFDkg9fyBgey0uo4VfR5jj0nHqK\nAGHZVCbADa2Ib9BH+7jR6fAbYZjzk2DiAkOGw3HPTc27dO5xO04Iz8aQB+rdUElXQFROx9Cdhe3a\n1zbDnWI87hmm6ARBZoIiICJtiQR7j22I+A342JQ86HhezRVAp1NvurslVienG3+92vue2CRcTT5z\njWwjz0JWRyEvAc2494E787/RbeZMruOauEz9LhoYEVSgYQNodfe870OxANediHrxXyhEMWpr8xJM\naWNab/dOoWV2sRe+/Tfi9r9CbDK50BX3H0Lcav8A7wPF+xsSefXDVS3rlGabJyLhyszcIHaNiOF1\n1UWyK6izgUWiapzJtUTOnK7k6KBU0jOXLhwYhll1Tnu5wCkR34rKlWaBW2kqvZIJWABe1tySBbe5\nPJvI4oVGguJCG0zKbIUtxSW0IccWzpQlxwpSFOqDSENpWsqUG20IB0oQA3TczNRSNmpzSXlW8HKO\nEHr6IbyT5CJkl49Y6scvIxiTgrGQWj1FjqMFnjddRkoqodsZIxzCMuXWVzaQiQFrStsIU62laghw\ntXKVLQFBC1I94pK0koJOg84bA7ELVAzI5HjqlRdMX2pbDS5EZuQlLb6WZC0F5lDwADyW1oDoCQ4F\nAWElVOV9jxhKIj/p0K7TE4gI9YdHgR86HuIb9d9xEPK/NmKXXmYrxKmnmwgdQQo7g3569B02xUgN\nph55mt2/utaiqHoSsAg2O2xAPHfjCOnTQmvME9dmAyT1uVkoY+9CC2xTAfTYiIh6enbe+DlTjqok\nJ9yONIUgvAJtvptqFgdtj3vjmuRm5uXcz0EAeZEcEpCBudKTuQm5JHwtb64frimqwuk02ZCJUnrJ\nJ6BSiIAIlKCZx0HoG/P/AF4pZLbZrMN8PgFaH3UoJH7xKki1u5HWw9DgZCl+yeHVPku2K6VLMfUr\nkNlRUPpv87YnGM5NsbHdhhnYlBZovKoAU+t9DpEypdfiKmvzDxvhazVKltSm4jZV5J8g2F7BTD1j\nf5Iv8u2+BWa4aanmXKmZmN/aIlMfCwLgLZcSlVzY8aduu3fAmNGvFaMV4QDCimyVU3/qgCJzkN6g\nPYSeQ+W9calUUxFUqNISEpfbehkq/auooJ36bqvv3t3wbn5lMDxoptNUbNy341wfu/3hsAfHdXb4\nAXwYrpdW0ti9tHgICsuwikzhsP3kjNRNrvsd9Aj4EA4y+mQpac3Up+QVFhmpqULk2CVl1Ive21l/\nzF+suVMu/ZviNLmJFtMmorSQNz5qJAtvtb3uTz19YfeoJ7FVA7rZgTAWqY632KscpQD00AgPj8vP\nGjZjkQpVSoSGAjzlSHVDTYE6GisEgDopH4X+K94PV1+Z4mVONIKvLSmolOrca2tagUk8kaPwwWHV\n8bDi48cIAC560LQN+QH6h8LuAj5EP477eB4yiqU2a5mmlJeWr2dVdjPEEm2lE1Dh24sNz27YLULL\naHPEhc9ohQbrRkk9R/e9ZPp24tY2AwPQjJSHopniZVCIIxn1kmgHpApkAVA3b02YRD5j541XPaaX\nJjxGm/L852pR2BuCpV3NJHW5t27fUdQa89VPGJUKQSptVVeZVqB+6l5aBvwbAWsCb27XODViK1Ri\nONopJ4YgOEm7oVBHuY5lHDhQRAR0ICImEdj37iHcB4yzxBl1VszIbSnBGeQ0wBc2CSw2gA/ACw6W\nI7Yg8RMsKqPiZPlMoCgqSyUG33A2y0m224tp36/AjAXqH2i2QmHjIpyt30pKOwEgGAv3nq5Q1r7u\ngAgAHt4HsGh1qu0aArKLRcKfOjUSODq07FMRC7b78qO/N++JfEXM6ms8UykPDUIjNMi2VfgR2Dfj\nYEqO2w54vgnYLk2Mo2tTiT6DuxnTkAVP3vhotUUg7iI9gEo77hodfhwhz67Ny3QaXEi6ksopZKdP\nCVOOurOwtc++N/jucSePWXEzallVttGppqkskBN9luvuO9j0WBvv9cG3df8Adt+ocZH+lFV/fe/5\nlYzr9En/APYuf8hxz5K7TSTOY2gMTQHEB772PSb+HcfQR1xsbUVwSSjctrJIB4Nz7wueduBbf6YZ\nC95zflnmx0XtcK6i29ufXa2GOYnjLNepIw9SZgIoAD30Ah0m0A+B9/HpvhnpVMTFeUlaQUrBUL8f\nC/pva+1jzttEyyp1RZXtcHTvslW17dr87n64Z2wmdu2zzuYVOkqgj662Ud997EP17cEZcpMZpyKC\nANKtHAsDxa/x72v8cXY8cqjSY7wstu+m/IUDqSpO/ANj/O2CvGCnEkE/b4By9RhEP/VmDY9u29Ds\ndeddtcZy+F1BxxhQJWkkpBv95PFutyLb8HpccU5LqpjDat/Nj2SedWpHbe+43H+OBpY3BlXzxumb\nrIcnWUN9jAGjEH2EQLrf6hoeNGocdP2Y0txOl5i9lWsdtlDv/j64JGYWBTqgjhDiWnwP3FkJN/ge\n+3O+wxJ2iAL1hF8loHccdMwiHYRIXQlH0HWu2/lr34S6nLU5WG23TqadJaP47H/AdbjffBKK4Itc\ncbP/AGeptqCk7aS4Rza5F+O1784hyr9OTsTFVbsDpMUFREQ/eNom9j52IAPrsQ3692uHHVR4jwRs\n0tJWkd0kX7DjqNvnhgKQaPVqSlX6yN+uZA/c+8hSe25Avv8A0kSjo8InYK+sIgk6IVZEO4AImT/e\nD00IgA+3n14UvZBUpMaY1uthfvWG+yzsSdztfr6G2JoK/bIlFq9x50Ihl5R+8NC9B1DkWH+Nt8J2\nLbqqUfPNh/r4p2j8QQ2JigksBijsNCH3BEP0D5cGavLEjyoLttSkuNgHrrRb16jf+B2xC+4Ws+OM\nKN4tYpzjVr3SpakG3S179bHsDfbEojJxKdvUOo5EDEesHDMwj3ATCXqJvv53oA8d/wAw4p02OrLs\nVx5N0tl1Dhvce6LXNr7DqbfS4OKlcp+jJ2ZKS3cLZWiQlIJuE8ahvfbYkdhzjVLquK5ZLDGtxMVF\nymi8AhdgA/ERBMf0ENdtB764mgwmcwFx0BKih11IJF9tZcA9L3/HbsKtDeSjINDmSgC5THlwlqPI\nSl0qSd9he/pbffc4m9KWavsVyjVXp+O0TmmglHyAD1rJ73sQ317ANBvt+YauVV+M+im2OhTkRwHf\n9h1II5/3Sd+/XAnNMASfETLOYmSVJcapElCxwbaUrsvYbFKrH5cYEcgR2FTarfeFEGzdUBHYl0Bi\nF3vxrYD27+o6134fpkKMiFGmt6Q6mSzc2BN1Am/fnfYdul8N7GYm4/i4KOTYSHXBbrdbS1b/AF+l\n7Xwbcg2dpK0BmyIICsv9jgcA7j9xVv1/j38/x4zakImOZspi5KiWGZMgAqO1ltupBNztsR0PS2KO\nRsvml54qEwJA0pqu45OtqQEk8E3uN+w64HluYv4muFMcDlTMKTffcA6Th0AHftsQ9P7/AC+V9uE7\nVKQWNPmlxxwhNrktpCwTsDyOfS574q+ENdcqmeqsy+SpLSJbqbk3u04FXB9CNvTfnfBinLYwWxYs\nx+6C56+RsACH+sDUhREBAd77bHYeB88Zs+1PfzVSGnlKMcVplw3JOwkX43Fhfc3+uJcs5fKPElVR\nSLhuruSCtNr7yFnkcbm2/wDPYXoDIw1TFRMFCIos/iF0BgDpMUTgAD2Dv1b8a9R40PO9Pp7yYhSU\nF12a00RsSom4v1O1reva245oVcNY8UHIT4BSqa62Sf8AdUpIJuSf2ee3XsZsWScSOPWH1r4QOCpP\nBW6gADidR04P5EREdgbXjt+e+EHO9YqbQlU9pTnkuNNMpte2kMNpAuNtikbdehtgP4h5dXN8SZUt\ntBVpfjFpQFwA2wykHuLaSefhffAdprt5GISyzTrKk9kHzgBKAgXpFdUhdD4ENFAN/h6caDX6FHey\n0y64U+axTGQRtfaOhaud73JPrcj4nPEDMbSs302lPpCvZW4Eff8A+00tR+qibfHC39s5L/bqfqP+\nPGQfo+z+5+B/rjWPsWH+4P8Al/xwBFpNwR0oisRQEz9RTGFNQC6EdAYTaApQ799iGh79ta42dEdj\nywtC2ypG9gpBNxzYBRUbbcXvYD4fPqae+tnzww8ixBWVsOpCSLWUVKQLW6lRta3N9kTcFSOzt1fv\nJLdg34Hf7ohsB16b7jsdaDiR+UhUbW3stroLk2A3HTcevfnuQMdHlsygLLRYOc7gHc7cm/O3F+2C\nLWICSeEXIwiZSSBucpjDHRkjIigY3UJAW+pNlwSFUCHFP4gl+IJDCQDdBtKs+Q9MSHGUuuLQAFht\nCl7Hi+gG1rbcbdTY4pVOaxFfbdXIjspeb0K859pnWLXuA44nVYkBRAOkKsbXGJRJRVlBmu3CsWr4\nhEjHT/7sz/cofvEDUcPcPIfh8+0tLpsgyY8ksPWKglY8l0e9Yc3QLX436HnAJE+C1J/7dB8t4WNp\nsSwVa+4D3W/Y+npAWVdtbh6yUUqlrOXqBM4jV7B3T7gID1RoeAH8PGu2+HWcHIkdwstOp1i9ktuG\nx67JR8+Ob/DFiLLgqE6C7OgaDdxkmbEPuK3skl+3uq277YIitdssORZsFXtJmrtExQAKxPiAdRRE\nviOENgPuPtxnrUKRUn1KDD/mtOBxP6l0fdNzYlFt+bfh3tx6lEfisvmoQPPgOAm86ICUoIB/78XJ\nSBuL3O9+LDBrTbaqZRylVbUJmLg5g/7sWAPuCImKIbjQEdCGthv8PIC+Tis0xDK2XQ4EAD9U4T92\nx/Y6c9+pHGGCRWqe3V6fKTUIHkT4/s79p8O3vAaCQHvUp3684k1rgbPIKwj9OrWoTuEEkHABV7Bv\nqAvwzAb/AOzdgIb2Aj8/nwq5ZjPxZUpt1h4tlZUkll0CyiTcXQO5F7/HfBmjTIDEas05VRp9klx1\ni9QhW3uoWJkb3Pb14tbC+pwFoRh7HAOqtaS/EQFdEpqxPgAnADdiiMboR3oNeo9/wqZkhyU1GI+w\ny+pCXrHSy6dtQI3CD0J62555IxVShSzQqsJ8APRJHsrx9uiah5S9OojzxsUi574Yoqr29inCzxKv\na9sXpCH1WbABg+GuBRESjGgYNkMG/QQ3oeGSptqmUhbAYd8zQof6l251NEg7JF9xt/DF6rVinHNL\ntOM+nmPV6Y8i4nw9HmBrWi6vPKQbgixNwTf0wRnkFPWG7ImGsWjoeQq6fUNZn+n4iIgoXZhjunqA\nA9e+x7BsOAWVW5dJaUXWHwFSE7qZduQoEbjTfpbj48YBVd2LEyBWoTdQp/msSkuNpTPhlR1IVuAH\n9R3HQfgRiPpxNxgFbHCJ1m1AgdwZUALWp8SiVdApe3THCHfWu2/TfgeJ5NGNVlqkpjvEoUsWLLgv\npWpQsCjgXvt9OMXKJU6ZKyplWpy6hA86K0mMsrnQ9aVMuqKbgvhQuOL+lsS9tVJ5/iMTjV7N9Ybx\njlLoNWp4FPiNlziUen7NA47AA0IBsQ/LiKVUZKH26cWJBHtcZX+oeKSk266LHn/LbAWoCH/phpda\nbqMAtKehOFYnxNGh1pP7Xn2B943B+GBvKV65FiWInq9sFMpmRwKFYsA6DqIcA6Qjvw8h7dx4YJlJ\nEdEWY0y55hdN7NOE3KTvfSSDzv0Pww9UXNdKV4hVGk+309OpE0BZnRNBPlrt7/n6dweQdzccg4Me\nSWM1JVNi1Qq9nOqu6jDGKWszwmKAHJ1dgjh150I+waHhJojVSk5ngKlNSfJYMlAKmndNihQ5KLdB\n337jYAvDuHBo+Z6tNE+nItEqdiahCTqKmnCm59osfeAta5v+I2slauzKETSPV7X0HEqHSWsz4gBR\nIYNdIRw9tAAeO2gD305VimtJq9NdYZdKtSntmnDZSFNqvcJ23O1/XjF3wqzRBqmZqz7ROgIDLbjy\nFOTojYJS8DYFbyQTueN97WBwX55hKK42Wbp1ey/WRhUkwKFZnesFAQIXYB9nbEfw2Pr3HhAfFWlZ\nkp0d9qSWRVW1G7L2jT5xG50WGyhvfYWN8DsrxYTHiH9oe305KRU3XVOfaEIApLqzuov2Ox29NhgW\nR8TdomugROsWsqaaAn1+zNg2PXs2tfZ++4m7+4/gIA65uoLaww4lpxa3H0IIS04eEnsk2FgN/Q29\nClMzNTKx4gvRHZlOA9odR5qp0QI9wKT98v6eEgixt1GDNjuryK9HZKOaxYiuRQcmXA9bnCqdQrrn\n7lNHb8CGu3f2791HNlZqzSJNPajyi2pptlBRHfIt5LaQLhGw237W78p+fYsOV4iyJrc+CoNyYym1\nJnxFJshplIN0vkEXBF+O+wGBj+y85/7MWf8A+F7D/wDTuLf2ZM/2D3/lOf0xuv2tG/8AmNM//JwP\n/wCRhRbiCrW59PY/fYLl/D+sIP4en+e3CTRVBur05y33Jbaj67KG+3qcfRHiKr/3DzVckj7Ek3HP\n7TWASgkUxSCqOzpABRN66APumH5dtfmA6Dvxo7i3G3jouWnNxtdIBtcfHbp8txbHwZ7V7rrBNrkl\nIuPiefToOl/S1lsCYS5lM6OrJGct+O8m5BkK42jXlsb43XcNgikH53qUOvNLkmIZoQHyjKRTjiLr\nqqqmbOyt0/uq7u0igVaoPvJpkaXISlKVvCMVJCEuFYQXCHEJ3KVhFyeFEbDCBmrNmTcuMRjnKsUS\nktyXHmqeusJQvzlNBtT6IyVRpDh8oOsl4pSlAC29at04FmV0864nuz2iZQRy7jm6RIIBL1G5yV1r\ns7Hg7R+M1VWj5B+iodo+QEHDF83Fdg/bj8dm6XTATAzsQ5lODsSZ7Ww+1YqbfW8hwAi6FaVqvYi1\nlXKVbWJHFqjKy5mWlN1GhKoFWhLKlRp9OZp0qK8plRC0h1ppSQtCgUOtr0uNKGlxCFWGI/XrVcFf\njEPc7kByHBVIRt9mDXT3MUdy3YNb3sdBrfrwv1qoyACkPv8A3SCA87vtzcLvz8bYYXafTm2ostNN\npt7FDg+zoXCvdIN4/INt+b7ckYMUFA5xy1BZFfY9kbnYkMPY5mMuZBXb394wCv43r7uPYzFlOElZ\nGKkkiydyjBIWMQWQllvrHxGzFZNNVQkeWIlTlSnZLCpDzLEVyVKJlK0tMtKSlbhDjo1C7iRpQFLN\n7hJAJwKlT8rZcnU2PWGaZE/SqpMUGjpXSWnhLrUpt1xiECxCdDCnW2XFedILMdJRpW6lRSFB6n3S\n4kk3Ldzc7kZJ6kJSddvspih1lESiAjLCG+vt2HYefHm3mp99tpDjD7wsdwl90cDcbLHT42sbYItQ\nIT0F1g06nedTpKlIUKdBuWtepB/7PcgAWN7jbDFMXm7NV1Gn7Z3PpZvCCGrfZgECCfQbH7V3rfne\nwEPTtxJSvNkwTID7/meSSf1z17p/8dj1/HD2Y9IZTAnGmUry5iBHeH2ZAIClgAE/qAAdXXnn5SSe\nu9xaHipNvc7iCcgzKRQAt1k6Pih2NsPtXX7359xH0DgPEkvTJLsZ1+QVMuEbvPD3Rx+38DvfYDvi\nOgUamFNYhLplMu1JXIZ1U2CbBQJFiY/oLWJA/hIsdzORrtHvKZAzuQZ60S8wzjK7CxVjtb+Yl5iX\ndpMYuLi2aEmdy7fyD9ZBmzaolMdddYiZS7Nx+qj06NU4kVp2U4ZbjTLbTbr61uuLKUNtoSlepS1K\nWEpA3Kjta+BOYGaHGmUjMMmLRocGnpdcqEqRCp7EWNHhoUuU/JcUwG22WWErddW4QEoSpR9SPlrG\nvMrysZKp1Tzg/n6raZCMTllIJnmKLuriPZKyDyHcM589Iu1kZwE6zkWDtq/rsyuzmmR0utZkVJRJ\nU5/MVLqVMpTrb6nWJiW/NLaJoeWjSSNK1R5DoaWlSVJW2shYO5AFjgXSM15B8QmqqcptQqjSpLLz\nLE13LEikofkMMNykuQk1akQHpcR1l1txmdFQ5EeSqyHCsKSILM2e1ylulCN7lbwIpEJLlKS22QoC\ndI/QfRSyoBvoHY6AB7+fYLlKoyENo9pefPmPLRdbzpNlJ2HvL7335x+rFPhUzw5eLVMpweizlFKv\ns6Fr0my/vCPqtyeSB2xHmuSrswr8zBnuNw2m5fJ9RrZYzHKVQTCAAcZTqDz26TBryAaDiGXDkSKo\nZKJEnSlSFBKZD4SSgg7AOW5G/PrhppNNo82HlWuPU2l6nYUELvTYIC3GQEqJHkWJNt9QJv3PErmb\nLaV8cs5BO428FBYRphMW3WQDAdNQiag9QSvVvQDvYj6iPpxO5XHnXo8AvP6ky1AjzXAbEKsD73G/\nrtvfnC3TKBEZ8ZnZZp1OVFcdfT5Rp8ItWWwog+WWS3sCDe3PG/EJlb5eSpRpFLlcQIRw13/3ushR\nECnIfQiEoAjsCj58h78X5MZ6GuNKRIkXX5hB894gEpIsQVkbXv6/Q4eMrroUzNFepaaVSS41Em2H\n2ZT1WsCj3QY2xAVfYc2PU4JuSL3YXUHFoNLhbCqrv2gGFK2WIhukxDFENllAHQiIbDxvQjvtwsUS\nbUZmYGPaZEny22H0gKfdCehuQV2JATcXud+dsA/DvLMClVKvS3KXTiEU6cqzlPhOJ1JAcSQFsKCb\nEXukXAJ4scD2dvd7bRJED3G5FKcAQAf2tsYG/dENAb7U2OgL5377HfDDUmFM1eG41IfJCvNID71t\nnEHcBdjuQLHbfcEcFvDX7IrNYqi3KRSz7OC6L0yAof64DYGPYXvyPobYJk3c5wcenOlcLYDoYtvo\nxbbYgU+ICaQD94JQDAO97EBEfn34VpNXqsuvQojkiT5QqG4DzwBTrUAVaVgHYja3pgTlnLUJvxBX\nKNLpymzPfUpKqfBUjQpblhoMfRaxHAF+fhBYzJd6i4AE/wBsbj0ERMbrG2WMxh6tjrqGTERABMGh\n38g78Hcz0x3Wy6JL4LjqEgJkPpsQnbYLF+L7bfIYMRGKFWc7vxBSaXqDzidIp0DSS2kjYCOB+zuB\nbcXxFf6SLp/7ZXL/AOLrL/8AVOCHmvf7Z/8A893/AK8a7+jtI/8AlVI//E07/wDiYKttUBKuzyg6\n0RisI77f65A4x+io11anI396UgbfBXbGxeJhUPDzN5TfUKDJItzfzGMVoUlgTV6B2HUPTvt3Kbeh\nAfUQ338a0PGwogpU2Dzp3HWxFhv8T+HrbH8/VIccu6LggG9r9Cbnqbem9xa5GOtf0f8ARsiZc5Jv\npWce4vqFov1+nqTygJV2qU2OdS1kmDM89S0nIljI9mIOHH1WIYvn7voMBUmDVysqJUUziD1l+I6/\nQszMw2HX33GaToZZSVur8ucpaglA32SlSiLW0gk8HGFeKlSpdB8R/Ays1ufCpdLj1PPplz6i6iPD\nYCssR2WlPvOXQjW88203cXLi0JQCpQAsPkHAkJzGX/kc5Hs43adU5tsW8i2bIO1Pq/aYC0S8HmiL\ne2DKuA8C5In36NhbybyvUSHl4axREZJGm41zJRrJnLoqvfiL35kVufJo1FlvrFVZok9twtuNuLRN\nR5kuBAkrIcClIYQtDiEK8xClISlQKhhfouZpWS6b4k+KWWqVEHh9XfE/LT0FuZBlwY8rLb6IdDzV\nmqjRWlw1sty6nJZkQpL7IivoZfdcjKS1pQGOSblxwVGuPo7MrZyaX6xTHNBzWWOlROOIk1EVqLip\n44tFGqMRJ3KGtcG+dytZmMozbqCu7FJ71S1TZSEfBtUJcizsybSaXTFyMpzaqJT6q1XX47cNv2Yx\nzHhvRmG1yWn2lKcYXNdU1JQFWcYSpDYCwo4bfE3OWaVI8ZMtZYcpEOLkjIsWqv1iSKoKgioViDU6\nhJZpsiDKabjzo9EjIlUtwtWYnuMvSlqjkN4tDjWK5bXXNR9LzWai8yljXGTTky5t4nLEnYoyi2Z/\nASkZzAQje0r4jqtMTrUaNUbRTZBlQ63ZHSMkk8+rtZiQSjwEyTlRI9Mbqub2YyZcWKIVWTKVIEZZ\nQsVH9aYbcZLaExggJTGacIcTYJcUBYjN8w1DOKfD3wCnz0USr1xvxEyM/QmYTtUhpksOZTkOQkV+\nZUVzHjUHH1Kcqc2GgsLbKlx2lO803sXIvjbJK3IfZeT6z5HCj87Fpt2OYeMz2nVnV7xjeca3FlW7\n2vaHeOWTGvzVeZRbpe1tfsVA6os45wyI+WO7SKyVa7QWZk3LrVLffVFzHJkw225wbU9Dlw3kNSlL\nMdIQtkNLL6dA1BKFJCzqGnTaF4p1WhHxQR4gwaP9o+HdLg1mU7lUzkUyuUut0x2bSUQ0Vdx2XGmO\nSG00932lYT5r6XS0kNqLsAzfyv8ALfZcM5uzTypXjMllLyw5Vq2J83R2X4+ioNbbE3iRnK5TM1Yz\nUpiLNzBVeXudcfwbqlWkkpMx7F1HShpgFPiN3Vo0qm02kzJlIfnOsUyU3Em+3Jj2ebkKWy1Oi+Ql\nPlsuPIKSw6FuJSUqLl7gn6Jn3OjVXoGSs/0rLcBzONCm5jyo9l16qKepsmlsxKhUMs1wVJTiJc2P\nTZjclqqQPIjOvNSI4jKGlbdtMqfRzcpUNkfPnKPTMv8AMDI8yOKsEzPMZQpOyQWPE8S/ZcDjeAya\nrie0qRzVK1zNulK9JGkjXGKSrdbi05CPjkY9++ipEJORzKVDjVurQYsyqqqzVONUZU43FFO0Nxm5\nPsbuhIkOSFtK8zz0+U0gKSgJUpCipeyp42+Iy6LkzxKqeW8ns5HzFmmFkWssw5dZVmMvy6zLoIzH\nBDy1U6NAjzGQyKbJVNmySy+8p1lmSx7PVz6II2PUPpD+WxK7sri9CftMe9x4FXc15Bk3vqMa+lYd\n5dU5xs5Vd1RrHN5VRZtXjtZ8J0sK4buSsUHyao/LSYM/M+X5EpEhTjE1JjBgtBKZiG1ltUkOpUSw\nlIWSlkJd8zyiFABQLZ/aBTWz4O+JjNLdpjYp7Ly6sZ6Ji3FUZ91mNMZpJiLQluouSVxwlc0OQzEM\npK0F5TJTJP6EuU23QnNHzX255zOR/LlizMsbQ0KwzkMSO+YTKWeMgzVknbS2aW1SFHHMNUoFsxf2\nwz6Th31iexS7GKXWGTFy7NKItLJr0+WqqIozcuPCSyVw1VKZU5vnuPJQ95fsrbLbaFP61oU4pKkI\nV72pWKVQzH4hwq/4WZOp6ciO55q+WXqiJnkZjRkuh5TpsSFApypFO9r+235shS2oC2o0luG3IQ6+\n0lLIQ3goY1+jvx+/5uMo4wncyWSOxA15ID85mHcxuYCOQcyOLpxCnTkNJZBrKSD/AOKaDg5a0M7D\nF1pVgvITsAyWjnkaykDtUZhkuEh6Wyai9GgsUhVfhVEtJ2jBDLwXLYSleoNMrfDrbJQpbjSdCkJX\nYCs1+N1Vd8OKY+zleA5mWT4oDw0zPlduW84iPXYq6pBms0ScpbNkyZ0anuw356HkMRJjiH23nWUu\nq5jZijMWq5SyaTB7i9vMVJSMarS3WTG8MzvjqOXhWJXbmyNK6UIZq6cTJZJVs2YlIDeNOwRcFK8T\ncFADTZNNkSnBAMtcB0OCKuelpMxSEoRcvoZ/VpUXNZSlJGlGkEagcasqfmCheF2VVZhRTGq/Hcda\nqKKIuS5S21+2OpaRDcl/3lxtuMWErW5fW+HlNnyyi42CwKHpBYkxuyRDJCHt0LGMAeewgIa8b32A\nPZZXTSmruSgDpQ8FjqNtr88WHO3wxrMBllys0usEpC5ceK6D11LjtpJvfe5uPS+3GJHcWKYQMY8S\nAAMorGmKJfX4yIb+Xk2/T8vUl9pJlOxItwS2XgsdQUmwv9Lj+OEfI8SRE8TMxSnNRZdaqSR2Avq7\nD90+mwxGX0isd1EJrjshHzYwgIdtJqpiPy8b7b9fx46fg/Z76X2wEqXHeKSNt1IIBtfufp35DxlW\npx6i7meOyR5keJISo25LiXGr7bmxIt15ubbYmeRlGS0dGpNejrO8IA9IbECikcuu2vUwAH5jwGoj\n8ifW0+0EkIjuAatxfUk7X3FwD8bnAnw6groz1elFJSkQZCzcHdSFBy42sDtz0J+JMNk5NwnDkaHE\nwJmIVIAHetAUde4DoCh29B9eCU6ntsViM4mxUFB47C+y0km3S4PcduuxzIVQZq1TnyrALZcLtzva\n7tib+p9Lbb98TaXbMS0b46Yk+OZg2HfbYmECAbt5DuPy8jwJmVSTMq8WIu4QmYbptyAVAXN+LW+X\nUjgHlmEtnxBdlBJ0rmSb3BsEkuWPQb3v69BgR9/7Jf8AhN/hw7/Z6+6vqca/9qI/IH9cWNvRTGqN\noKX940W4Av4/ET4w+gKCK5SVq3Sma2Tfi2lY3+vONr8REheRM0pPBokgG/Fitnn074qUbqctwEQE\nF0R0I70YQDff0H/p59eNlL/kO8gtODbqAdie+1uT2+AGPheO02l91lVhquPkdrfW9yRxY9xjpbyl\n5JrFQ5FPpPK0+vcTU79fqbynsMfwqlmSgLZbnNczs7lrK2qLVN6zl5hWIgljPZtGJKsZnFrHWfFI\n0UMIn6ZNZiUfNLS5DbTkhmk+yNl0NuvFM9ReSynUFLLbfvOeWTZBuqw3OOZ4oUyoeKXgm6ilyJ9K\npFSz+7V5PsRlQae1NyoiPBcqCy05HjpkS0JaiqfKQ5ISEt3cAtWXljyhI4M5icH5niUVnT3HGWqH\ncjsW4Ki4l2rGzMft6JKVEQXcLT8M5lYo5CCZZ2eRMT+sVVHqWKdUHKdVoEpF1+yz40gJBPvpS8kr\nRtuS60VtkXuSuw3OHzOtIZzXkjM+V5C0oTU6DVaal1enSwtyE6YkglQKUpiyEx3wT7rYZ/ZSkW66\n84+S8ScvH0oHK5jOEmPq+EOR/IeJGEtIETOKMY8sWcX3MRld8qzRMsKa8CF+Yw8gigQVifssokok\nLlMyfDjWExIeb6PFYV/cMtSYQUoAnSp2orqs1RAvYtmUhCha48ni42+cMiUyu5r8EM7Zglsa8zeJ\nVLr7iGiQVOsRMsM5OobYWQm6JApTklpajpJnBQUGyDiNkfUTEPMZ9L+vP5swTYoTP3KBzQ2HDlio\nuWqhboO7K5ZzXEWamU6PfRz8UwyQ8iEHLp3j4hnFhaIIg7+rrMl0HJza/Z4UnNizLhOCbSam7FcZ\nktOIe9plJdZbSpKrF9SPeLNysAX+6b45DNUzBl7wBbjZdzPDcy9nrJETMEOqUKoQJFNcoGXXoNRn\nuNPNXNHS6tCW6sQiI6olGtLiVoDtgrmixZy/4i+h/tsra4STNhDmR5tbDlqswz9nMW2l0jIFvhYl\nCdlq0zXUlWhXVelpSdgU3DZI04jFLkixcKBrhcYrMRlvIU1TrbjlLrFcensNqS4/HYkutseatlJK\n06mVreaCgPMDZ0XIxczDkOuZnrP9oanR4EllOYcm5Bi0CbIZdjwKjUKTAlyFxY8xxCY7hblMMRZZ\nQtSYqn0F/Sk4C1+Rx9yd8qPOnjKNzlhTNVp5yMx4hYYraYXyHF5GUYYDxPerLlJTJd+LCpqo0OSs\nziXhKrF06wOW9qJKoSp1GIsWqzohOotMQMtV2AibDmO1RbAi+ySEyCYUZ1UkSHQi/kqXqQhLThDo\nWFbFIJwyQptR8QvErwvzA7ljM2W4ORsvVlFdczHSHqOheaq7SY1CFJpRkKBqrEJLMia7UoiFQVsL\nYCXA6pKMW0yDnHDjn6XvmWyY2yzjlXHNo5G75WYK9BdK9+x8xal+T2kVlrXYuxGfliX066sLB3AN\nYls6UfOZputFN26j8gtwtM1CnyM51aQiZFcjLo5jokokNqZW6aLFaU0h0K0Kc81LjehKiouJKLah\nbC9SstZla/syZPoisv1kVuleKtKqMqk/Zkz7RjQEeItWnuTX4Ya9oZiNxHWpbkhxtLLcZaX1rS0Q\nvHMT6M251Wm853JReb1Y4Cl1ipZPjDWe0WqYj69XoFiWm2NkZ5NzUq4aR8U0TduEG6jl+4QbpKqp\nkVUIJw2i5VdRT85w25LrbMduWh5TrykttNp8h1Opa1kIQBcbqIAJFydsbh4wwp1a8LvFKFR4Muqz\n63lZZgQKdGemzZj5qUB0tRYsdDj8h4oQ4oNsoWspSopTYHB3wLPVfN/Kzzf8m6eSsXY9yPJ81MVz\nO4ffZZvENjqg5BjkWNpoNyrieQp46dciZhhCu4y2QzeTcoknWJ1yRh1VUFuk3MDNSpEykszYMOW5\nWYlagKnSURI0sMIehy44lufqW3UsuJfaStQDoBSjfhOzEzUMueIfh/4iuUOv1qjUvJsjIeZGcu0q\nVWqxRluO0+t0md9jREqmyIz0lEmnSVsIUYj6Ul8JStN7gl5iMGp5ezrCweWKLJUbDH0Llx5KaLkY\n84hFVvL+TqTWK8R2nj91NiwXsJbLa383H01BsiZ3YmsQo+ikHDJZBU501enSTW6a3LYWxAyW9Q2Z\nOsIbmSEREJcMcuBJcDjqlIZABU6EakApIJy1/Jubva8kTahl+qxalnH+0bF8TqrQjGU/Oy7SKpWX\n3mRV2ovmohuQaWiO/UytWiGt8NSFJcQ4EcGKm/B3LzKS+xF3HNlAEw72dBQA770PYD6H5entkzqV\nUtuC8i4TdxB6W1p2622I25/DH2DnSE1UaAqnN2vGlqBSLEgKIUknY7XSd/6Yiq7IwR0qYmxIg/ep\n6D2KIqB49iiPYfmIe4sNPU1KQ8VAa1MBwE72KgPnudvie2Ia/WXaGxktAJGtMJhd77gFAFyOhAte\n5w7v54zyEh2hxHSJmIDodiPwTp/h6B/z1rhajQlMzXJNjYOOEdhqve/zufW9ucP8GCxGr8yUkAKl\nNSFJtyfNbKiB3BJG3pzhzuDAjYYtRLYGUeCAaAPAE6wHsHjYa3wUROFQfZZBBDccg36FRAI6/wAc\nIXhmxIg1bOEh8qLbsd1SdR4CXyob7jr2433xHnsio5exyS5jdAOm4mAf7IKlKO9h6AI7/vDzyYn2\nfKU6hICvZ3LHpfQoiwv6Cw49MPGV5seo02vmOblDLzJsL7uNO2G3Q2tf584k16TZpsGANxAFDuAK\nbQb+78M3cddg7+nngZS5L1Rqx87hDKrfHUk97G9vpfAvw+jqpRrLywoIEZbh1Ai5QsL69wDxcWO9\nsRx9LLfZANDHP8MUypAA+NlDsIB29C+dAIB6dhDi3KpyWKqy8Ei4WHNuh1Dtx+O9r9MHsoyo9RqU\nyUj77ThWTYbalkdODzuPTjGnRPcf8/lwf+0D2H4/9OC+gdz+H9MHe6v2Q1axAR6yOc0cv0pkdtjq\nGETk0UqZVROYw+hSgIjodcYpRI7xq9O1MPpSJSNSiy6lKRY7lRSEgDuSBj6B8RKjBVkTNaGZ8Fx1\nVEkBtDc2K4ta9bJCUIQ8VrJsdkgn06YqoCxCqdXgf3TB6CAiGvPbXfz899vXXvKK2tKtyN0ne424\n23BuBtj4UedcDiXkXBSTf5XBHqTbnr3xc/la5TWfMPTc+5Ps+cKJgTGXLlDY8l8g3C7VK+XUoEyb\nZ5CoVZKLgMex0lOLiadZpM3ihG6x0gkGqoIGbpvF25Wm0IVSLOkPzmIEemoYceffZkP7SXSygJbj\nJU4buJsdid0mxAJGd548Rncp1TKtMg5cqeZ6zm2RVo9Mp9OnUynX+xobU+YXpVVdZjIAjOKcRqWA\nrylgqCy2lRMPV5b6OLPOLMpWWt4b5pK7ZcZrZj5ZrzDWGwPcPWuRdnM0o+UisDMYuakH2MrWyM4m\n8Z2pixOWZSZg4dtzkjJdG0iAvLlQhzXWYVWQqMZdNkJccMN1SzaPL0FKFqVEeSCuM6lPv6RcEJWA\nLtYZ8XcuVmjwpmYskyWKunLmdKbIiRWq/BbbAXUaIXg49HaarcBzRGrMJx0GOp3QhYLzCqB3i+Wj\nIFps16uU2+sVwt9kmrXa7BJKApITVhsMk4l5mWfKAAFBw9kXa7g5SgRNEDlRRKRFNMhaw1LedlPL\nU69IWt591R95x5aipxajblSiSeg4AAtjTKXTIlNjRqJBjNxaZEhMRKdEZFmY0OKwiMzGZBJOltpC\nACbqVupRKiVE78pfLebmbu+SKaS2J0o9DwHmTO/180B9vDJmxJXELCNbK1LKw/1M9iM4KzGaFdyM\nWXqcjGyI6bmsRYZqL0hhL3kJYps+cpRb8zWIbPm+VYLbKS5e3mXJRYHSrYYB5yzV+hVFo1Qep5qT\nk7N2XMqhHtXshYFemrioneYWJBcERKCv2bQgPkBHnM7rwE3Lv4sOgsX7inwkjdOw6gExCG6OrsIi\nQTdOtB3DsBREA4TYLZ9rCre6pVz8+l+Odu47g4eW9LcxSVEFD6XG732JSCNunvAXF/x5wxQ3+lLS\nbVQpQMYply9gDawAB+oda2cQ2BhHZu298MdWX7K1GeQRocuhdrgb7K52BAtufhgEw4pb6ozit4T4\nS2om/wCpUvU0U9kg7bbfja0HOdy8q8pnMxbuXh9bkL6tQUqWClsSgzVtKULcqFV7wUCwp5SaMzCP\nJZiRhzjJOQcHafXABD6wDdOSoURVCm1CK28HzG8h0upQWgrzWGpBPllSynR5uk+8blN9gQBz4dZ7\nRnrJVMzUKcaS3mJNUQinrle2ll2l1afSlAyQxGDntHsRfCQw3oDnl+9p1qm2F+TZ9lS+8n2Nlsw4\nzjmvOLcLBCR6dUkiXq94dTrc8+gnC+UaADivGiJGYMyNJ1mKGfTLLRZjrnftFG6qXHUahiqVOhui\nZFSK0HGiWVefIieStTajJj3b0KWRrbR5g1pvdSbYoS/EhGVcteIlZTluuPueGMCNIcM9k0mlZkTP\njty226HWC3N89qKHfInP+xqMd8JSGXQtKgLbhhB3AYztGYAyHjFWOq+Z3OCHVAXsqbXLUy9YMJmS\nHIDGiGbrCfHqacMLJ9NGkzGZS64MyoLpt1XADzDDsB5xciKr2CruU/2dToExQCVq9oTHIJMfaxc1\nEhZKbHSSWjL2ZESc2igijVsOVfKrObW6siEpzL8ZKnIzIpTtVCkAVdXtIcZjeQPOjtlwlClpRiGW\n6jXfHsfI0rJVOsdHt0Y3h51at2yLcQ061i7LFsrFXnzqLekTeM0peEfM5VkV0kiuoxdt1jpJAoXg\nfOZkUysmO824yZDLThbcSUqs42FJulW4CklKhcAkEEjfF6n1OlZlqtKr1Gnw6nDRKlQxOgPokRlS\nILzsOY02+2S04WJDK2HC2VIDiFpCzY2hBF1YaWZOiCYCu2Jw330PWUhwDetdtD6D7cW5rSJ9IZPK\nmZKUk7dNQsbi/bc9e+PYsky82Vmlu/6pUduQhKjtqbUQe56K44xIYRQj6JsCRwKJwenW0OvC7Y2+\nwiPYRDx76HiiHlU+Q2m5CXIyUj/wrHH16c/XEGeKeKgmgFrf2SQz903KfKc4PrY7c8DpiHOUzpRT\nJbRuk3wxD2DpV6B9/Al7/wDLuYZbbeiSVCxWgk9zcjV1Hbve19+tjVQryoeeKBTrkJlNtIX6ktlB\n6fw9TiVPpcZN1BoqGESldogO/XqDoERD8/Xx34X4kdURa5G4GlfpsLmwNrWHTfexOGOHDZhor4bN\nnHYUoWAF90kgn5jr6dcJrI1I1fx/wxEBN8Q4iH/hnIYNh+G9DvtwSRI+0ZCgNwltKRuOqSk/E3Nv\nh3wqeG6HabR8yOyCTdSXAVXtazgO5/4t/wCJ4De+kDO12KKpjdP1lHXV3AAE4EMPb5DxCzG9gmuu\nAAENKI730Ejk9Tbm/T4YccuyWJtGqkhk31NSGSRbc+USO+4+HXi2Hi2tEGzVl9XN95RTQgAh3AEx\nHfbx+Ad/76sSW5UKgQsXCG7D098HsL7C/S3XffAvITaoH2w6vVp8ouEm4tpVcgfzI9fhhi6ze/8A\nAP8ADhg9jV+7/D+mCP6Rw/3v/Un+mB07D4hQXSKQFCmHYgUoCGhH1DQgICHfXkN9/QIozikLWy4T\npJPUmwsRuD32PG3pxhKS20tojQhKkDYhCRvbodItf03Fr7HGw7gyzYipdAcoFKcPXXb/AD57b0Ac\nep/VPltVyhRJBJ2tvt/LtsN8cssoeStpQ94Da/cDbjfcDg79sdkfo6qxAZB5HPpXKtaMnUzDUFKU\nbk9LJZKyE2s7yn1grDPkvIoKTLWmxE/Zlwk3LRGFYJxcS7UGRkGn1j6u0+sOUXLL7KF0rNLDshmK\n0pmkkyXw6WWwZyz7/lJccOpQCE6Un3lC5Cdx84eLL8qmeJXgc/CodRzFLZqniElqi0hcJuozi7lW\nO2RHcqMiJCT5KVqkvF99seSy5o1OaUKsZy6WLlY5iub/AJJOT2PRPnzlo5YuVPmmos3e7XS/sBTK\n11stMvWVrtf6ZUbQgtK1aMr8+3Yji1xPop2CMesgmhSbqps3SxCnO0udVaRRgDOp9NplSZU86yGz\nKdcaflPPNMuDU2ltYT7KVjWkp12SQklRzZSs65T8OvErxAfUMsZzzfnnI9Qj0qFUfahQqdEqVLoV\nNplRnw1hia/KjOO/bSYqjFeQ57OCtJcQmuNCuuKJvCHNb9IEy5U+XWHkse2blu5ZOWrB8hSVLjg+\nkO7W0lpOZybkCkzsiKeVMkEx/Gsmj6dtCxWU3cH8jZ3DArwyRE6DMuKqDVK6mmwEGO5T6bToamC7\nDZU8FKVIfaWq0qR5CUgrcNluqU4pINsOtTpFcj5kyB4WuZ3zbIRVIWcs65yzKzUhTszVBqnux4zF\nFpNSishVCo5qjrq2o0JJdjwG2YSHSjUVXpwLQcQUHm6gc50vGUHXcYczv0OGYuZi0YQrTqVgqlX5\n6Yph4fKdEqDkHjiVrtSnJatO3MGi0dmNX284uhFC3btGSCFuI1DYrKZjUZCYlUyZPqrkBBU2yhTj\nBblx2jdS22XFtEtgE+WHCEAAADOs1VbMFVyFLytUq1KmVrJf9ojLuS4WZprceVPmRYtTEihVWoo8\ntDEyoRo05tEpTjYEtcVCn9a3HVrotmpnTeY3kdwJzW0flww7jvMFW5uk+U+044wTQJKt0jMENM0G\nMyZilm4oUfKP3spYiHSUob9yzkFbJaGki5M7kjvXbIY8S0zHqlGp1WRTIEKa1VTS3o9OjqZjy21x\n0SYl2EqWVOAfqFq1lx1JJUsqUnS90t+q5Q8Qc3ZGnZuzHWaG7kYZ+p1WzPVWptUoEuJVnqLXlNVV\n1hlDMN1taao0240mHCdaQG2Q2275xn5q8Huw5GbjlrNGDeTzBnMhhPmUxtj41c5Tj4/hZmvY3ybX\nporzGee6Vjiy2mNhLjW5xmk/gD2qWe3QjJoshJr/ABjSRnlrM0FT2XJa5kOkxJ8CpxWkN0xTCVNs\nSW1HyJrDDjgbeQtOpHmqLuge8d1krvh1mFlXinTKTl7MWfsx5VzPk6sVJyXnkVSQzKq1GlRy3Vst\nVKqxITsqDJYWWpIhMt0/zXAWU6SyG7q8zq2IuY76Srmi5HLfy6YbVcXrl/Na4HmBJX3g5+hc7UHl\nYq2SadammQHUk6GMosbCQ7eoDjuKjo+FeIM1pSTVfOZyUQOyzFRZ2YarQnoEQe1U8KE3Qr232tql\nsvNuecVGzKW0hsMISlJ0laiVLUMImVm67lPwPyJ4nQM45j/9i5uchv5SMxsZUXlmpZ4n0udD+yW2\nEedVJEqQuoKq8h56SkvJjsJabisLFVeV2jUWFyH/ANnsyLXKbWoC5ZbtGcpfJNliIhkym7rI1rKs\ntDV5zaJRBIjucXr8MY8PELSCq6rGN/0RA5ENJguUGKzEX4fuIZbbfkPVT2lxKEpcfU1UHmmlOqAu\nstt2QgqvZGwIG2NQzZWapNy1/bBpEyozZdNodLyg3RIMiQ45FpbM6gx5U1EBhSi3FTLkaZEhLSUh\n10eYsFdzisbiKpFZ+j+yvzDGxnjK2ZToH0sSlTjpq/0mJuDaSpKeP7raHePLK0fAitOY8mJpJGQn\nKgs8Ri5ZwQFHJPiAVQoyRFYg0mr1JMSK9LbzagNuSI6HQuOYDr5jOBVi5GU6nWtkqCFK3IBGztQK\nhU6t4rZdyma5XadQ6v8A2e3ZUqNR6rIprrFVRXKdTG6zBdZKkxKzGiFTMSopaW/HSSlv3SQelvMb\ndcfZk+mHLyo5hxLgAKVlPENbxhD3dHEcA1yGlkLMXKjV18dTs9dDKupGXVpN5YQ8RjswN27mmspP\n6rFqqiBOpnrAiVDN8GFNh05TUmEqGHzDa9pRKmUtlcVxT5JWSw+EJjbAshatBucYh4fwq3lz+z7V\nM95czDm0VTLGZF5icpZzDLXSHaLl7PcxNcix6aA2yyKnS3ZMise8tFSXGCpCUgXHH7P9BrGLuRnk\nrhJGqV9vnPKeQ+YLJ19s60KzJdWVEo9oTwZSqgvOGTCTJXXllrV0sScKJysjSLUsgUgrGMYEh9lq\nl5fp0R1tAnzZdWqDyygB5MaNKTAjNFZGoNrW0+4lBIAUNXXH0blCpSsweN/iJV4syQvLNCouWKFT\nmEvrMB6oVanHNFQmIjgloyWoc+nRVPgFwNL8o2G2KCsHysa8mGY72oRI4l0IB4UKI+n5eO3YQ3wI\nq0RL4pj6RsptQ27jTt8740nL8tNWcq7T9yabUFab8hJJuBcW5Av8PW+HE4kcVNE+9GRBwUe4AICR\nz8QN+O4B59gDt68QR3yy7Jjq5WU254Lex5+O/Hztjmt09UrPFAqDf3Y6myVDtZJF/wARe23ww1Oh\nO0cxxxHsCiShRD0AClUD5eQHzr18gOuLrrSF04LTa5JSepOxSevTi23bnBamVoyc7VikKX+r9gke\n76lII6b7bW33th3cPftOXYFUOPT/AFhR/wDOQ35eQ/u8cC4jZha3Lfsgi/YKA468m99+MGTHbZoF\neZjkalRlggWJ1bgHtyeN9+LG4wjmkCtHrUqZvBPiDrXYSqAIe/kA/wA+lpl0zpDyrbWCRYXH3SB8\nbd7YG5KLlKytUlSFcPFRJFtlIKTvbi5/jjx0+O+VYpKKDr45ADYB2KOiiPj5/hrfFZlj2KU8sJsU\ntqJsP929uLDfsdj8MMFFcakUWoyGbHzGJKL8G/lmx2/gNxzuOJh9kIf7T+X+HE32yf3R9R/XGV+y\nvfvK/D+mAE3cCoQ5f9YBMAgO9B94fT376Hxr57Hi7IQG3Ao3sd734O19wfodhzxtg61zp4Va+/Cg\nehvb4EdLXxtbLFAx09jsQENfMP7vn/L16eQVNpUOljq55/D13OI1XZfB4J9DYg9bfO3XF08B8x1M\nxVyp892BZyKszy080Vb5foaiyUS2jFYCFc4nyw4vdgVtTh3KM5Boi+ilStYcYmOljrSACk8TZt/9\nIEvDqLbFHrUJSXVPVFuAhlaAkoQYkv2hwukqCgFIuE6UrOoWUADfGeZrytOq/iF4XZsjSITdPyXN\nzVJqbL63kypCa9QhSoqYKG2HGlqbfClyPPeYCWxdtTi/cxnyA8xFM5VeZqvZov8AF2ebrMNQczVh\nePqLSNfTqkhkTFlppEKsghLy0KxFm1lptovKKnkCLoRxHCzVu9cETaK80SpM0ypMz5CHFtojzGlJ\nZSgrKpEV1hFgpSE6Q4tJUSu4SCQFbDHXizlWfnfKcvLlJkQYsqfVcuTku1Bx5qIluj12BU5KVLjs\nSnQ45HiuJYSGVJU8pKXFNIKnEvfKlnvEdQwtnXla5jGOQy4czqfFttbXvEcfXJ7IWK8tYfcu1K3a\nomq2+Xr9etUDYIqRe1yzxLuWYPiMwaPGBzqgsVPim1CI3Cn0yopk+xzzFdEiGlpyRFlxCS06hp5T\nbbzbiVFt1BWkhNine+IM9ZXrs/NOW85ZPepH6Q5ZTXYRpWYHZkWkV3L+ZG20zoD86nxpcuBLiSGW\npsGQ3HdbLvmNvAJKSbi1T6SLCsDzOL3qQxZkV5y5Y55EbJyOYTxkEvXEb5KU5SuNYRlKZBsbZdGF\ngpW5v3lqnrRI11Ge/ZxaRi2UaznQZLuVCrFfhir+0qiSVU6PQHaFBi62xIUwW0oSuS6CENrfUp1b\nqmw55ZUhKQuxJzWpeE2YX8iewNVykIzfUfFOL4m5mrPs8tVMYqKJi5DrVKiLSqTJYprLcGLDZmKi\n+1pZfdecjealsQOP58sC8vAcmuOuVup5huuH+XTmjU5uckyOeE6JWr5lXIziKZ0uLrkdF0h1YK5X\nouh45RcRUHNrvXSkrbVUp40exaNx+tXI9Ug01mmMUxqW7FptQNVfM3yWn5TxSGQgJZK220sRwUoW\nVErd/WaUjmWZ4d5ozXLz1Vs6zMvU6tZ5ySch0hOVjVJtLolMQ8aiuU6/Um4suU9VKsUvyYyG0hiC\nkxQ844u6UuW+ZTk/Lyy8z+BcAsOY6Vms8czND5jTXXM0RjuJTaIxcrbJCXoy0dULVNuRPWkJ1P7P\ntzlw/eXyWk5Rw/j6u0i2KksLrFXpBgz4cBFQW7U6lEqBflIYSkJZL2uOpLbqlDy0uXQ6dRfUpWoN\npSnWSylkjPzGdMmZmzU9lJiJlPKNWyoKfQH6u+XDLZgpjVND0+FHbKZbkZYegpSy3TGGWUtOTXHn\nQwf8sfSOcoU/zD545xsT0XmHjeaDIuIJrBmOYK5J48QxFCIzeN4nFLjO8vJQ088trC7s6KzcRCeN\nWjaYr6ksinNlsgpSrtKMPTq9TNU7MESNOFQXHVCYQ75AjoDsZEX21wpUpwOIZSUhga0a7K12UrSk\nUrwoz3TaHlbwtzDV8qvZNiVqNmmqSKd9qLrElUWrSK2Msxm5MZqG5T3ak4iQqrLMeV7OpTHsmplB\neAuJee7EmO330RhZeuZCWbcgc5ltTLQx8ZX3K9jZ37JMhbIUMfFc2VmSVWZRDpFCSLYlKuUH5FEm\n6i7fpdGGw6zESrLLpakFNBEt6UEIbJdTIkmQPZgp1IUQlVleYWhq4JTvjQK54X5gkU7x6Dc6jp/0\ntRsuRKCXn5iBDdpFGZp732xohOGMhyQ0pTBiCcS0QVhC7tgFW3mbpD7kmzVyxt4i1pXe+89Z+aKF\nmVmUUNWaUVXHthqoxEi6JMGlC2oslLtnP1FvEuIo7MixwmSrFIipQVU486iu04Nu+fLq32iFkJLS\nWhGej6FnWV+ddwGyUFNgff4BcqBkWq03xFo+fFyICqTRfC53JciKlx8T11NytQqkZDDZjhgwPJju\nI8xchD4dUi0YpKlCwvMDnauc3POFyr575VobMSXNfcJLAsbZMdT8HVy0+JyfiOPocHTH2MrPXpt9\nOzUPKOawvKWVeyw8IjX4VkaSMYiZ5Fuw7l1VqsVanSqY1OTVhKgNPxXW2vKRLiIYZbVEdaWtxxpY\nY8xwuob8tIKiACoJW8jZTleHvh34i5dz1Jy4rIMan5qehVmJKmmoSaHmFyrS57VbhS4zUSNJYROT\nHhJhSJSpcpwMJBPkLdtTzIWzlw5mvpM+YGUu0SykuT3knw7lRSSr9es8hXoyxK4mbTCp4CuWKCet\nZIw5G5r8ovY+LNDPE155E+kFCM1zmTv1lqFUc41J2W35lHpFIkksIdW0h1MZDqg2262pK7yqrLIH\nlqBXfY2JOELw9j5tyf4E5VFDlOM+I3iRm2jwmJsuCxNeh/bjsZK5kyJLacY00bIVBS88ZLakRFJu\noFxKQeCUsgdWdUWBNNA7tmZU6CJjGRQU38QyCJjmOcyKInFJEyhzqGTIUyhzGExhTmJKXoUBKwAU\nOaSATYahx1JAtbfsNzfH0hR2V0x3NchKlKbcT5ra1AJUvQ0lQcUAAkLXpKlAAAKUQABYBrayBwiX\nLQBDRV3AD662bx7+2vy1vzxxOiaKkoi9lNtKG3Pu8jfe/e/PY2OGTLcpFSgU6quEFaXFtFR3+45t\n96xBttf0w+yoFXQiVCgBhODMO2h8o9I99CH73+djxCy+THUwoH3FuE89F3AJ72+PUcYpUynKZzxV\nKoE2SuG6gW2v7v8ASx9Nx1BwzidRrKJG0ICkImAe3fRhKI77eRHew3/Pi5OaSWGNI3cQQfXUAb3F\ntgQP8r4lyfVlVReZ4zvvNsq0JvewAcUk7E9gDt8xscLxXGRkkSH77IoUR2HgA3r19vPnvvihG/uR\ncWdtgqxt3A7evJIOD8xlKsrVJqOACuwGn94LAPHPO5/hfZPJpgzdt+jwUpVN7DsAG7dh+Qb9P13x\n2yv256QrbckbDY3Tb6777kenAxDllRpuV3w+QLOLClKN7haQPS++w4vY79cPf28r/kv/AD45+yB2\n/FOAXt0Hun/0f0wFEVehZT00Y3b37m7615Ae/r5H178FHgVNgbnqD2P4339L/QjHqinUlY2ULE2v\nxYfL5Y3LG6FSKlAA35/6a9vPv47ccsHW2ptW5Atvz1+d/X0PY37loC0BQACgOe/G/G3T15x0J5Us\nHYNkcF8xfN5zGxGQ77jXAFhxDj2Ew/i+1MqDOZCyLmKTfIRalpyC5iZ5zSqHX4yOUWfvImJWmJiV\neto5gqUzZRo+M0eFEVCqVRqCH340FyLGREjupYXIflqUE+a+UrLTCEpJJQkrUtQSk7EHIPEDMWYh\nmHJ2Q8nO0umVrNMPMFXk1+tQnapGpNIy6w0uQmFSUPxk1GqS3ngG2330x47LS3XUnWHG8MYcq0lz\nwZgy2PJxie949xXQsX2HKDmDuspaszPa8rUaeSWc0BO9VanNgnbpkWfZyjTFdfk2URIy7RNZI6rp\neIegf2LSzWZUxNKivR4rEdcgoeU7LLZaaK/I89tka3X1hQjIWEqWm+6ilV62Yc6t+HGWcurz9X6X\nVK7Ua1Fo7UmnMwsvolCbUFMJqZpk6oLManUmK4yuuS2XH2Y7ikEJbRJbtXet8uvMdbZe5Vyr8ved\nrFY8eCJMh16CxBkWYnMfuAbA8Oyu8VH1pd/VH6bcfjiwnW7B8ZHaxGxk/vcD26XOeLzTcGYtyOf1\n7aIshS2DYqs8hLeppVrnSvSbWsLYaalnPK0Bij1OXmrLcWJVdqbKk16lMMVRtS/LDlNedmJbmtBY\n0+bFU60FEpKwdsE/l85LOYHmeomdMi4tpNnm4PAtOGxyqMZRr5Y5K8WIZiMiEsYUFCs12TQl8ikT\nlUZuSrizpvIxdfJ9pKslyLIpjfp1Elzo8yTFZcWmE0VqCWXXFPLK0p9nYDbagt8agsouClHvEG+4\nHNXiHlnJtcoFGrtRhR1ZulpjsrfqVMhsUyOYz7q6zVFzJTKo9JUWVMNS0oWy9KPlJdRpUoQa5Y6p\ntewPjmdTqPMBD5qkct5XpmQHdwpgRGFHDCoqxjOCq+OpdWNbzMjlCAklXTTJNaeOXLyEdLEaOY2N\nULH/AF79JbYZixVhuaiU8/KYkea0ERClsAIaYVpCjJbVcSGySpCiAUpOnUQok6pT69WIDk/K0mgU\n6jUOpUZMCol/MiHJvnOvTqqwHlRmqJLjhCqRMbQlElCCtDzoLvlFvE3I3zQZSzpirAB8NZMxxdMs\ngycxbrJmL8k1iKiKcusi2e5HnSK1RSUQoUOs5aISdjQYqR7V8/jI5y6au5FqBhcOg1WZUY1OVElR\n3n1621So0lpCWCoBUlV2tXsyCRqcSCkLUlJIKhj2veJmRqLlav5rGYqLVqdQ2nG3m6NW6NNfkVJK\nFLao8XTPDC6q+EOLZhqdS8400+8hC0Mrsxp8vKGNUOZ6Ez3jTmbr+TsTUyOmMXDA4xlIanMXq+SD\n1b9uc3Et0IhMVvEFphWbotJsrUzFpLzLgG7SVeu0mrF2ZXBMeNWIU1iel5uKlyNojqS2k+cWw9KL\nqApuO4AQ05cBSiUhRIAIGXmwZikeH9Xy1VcpSabUKo5FrIkVhl+e6gUtMo06gCFIUzNrUN1aVVCI\nQ44wwnWplDZW42EGuHctXCoXfJVOxZkqz45oenV1v9fodqmqTTiJEIsqa02yNiXNfgQRSUTVdDJy\nDb6qkomo5+EkomcwuixpTjZeTFkOxkIU2++2y6tlroPMdSgob5F9Sha4JIGNCzHmOgw4ceizK9RY\nVcnaXaVSZVVgxqpUVIVt7BT3n0TJWoBSUeQ0vWpJCNRCgFtixFlqEplWyjY8WZLr2Nrw3K2qWRJ6\ng22Holpd/BUWIhXbhJRDavTSyqKC66BI6QcGcoILrtgWRRVOSm3EmQUIfeiSWovtSkMSHGHkMOgk\n28p1aA05sD9xZBAJAIGC1HzNl6qInUOHXqJMrcaJ5k+jxatT5FWgIWkJK5lOZkLmxkBa0oUp5lAQ\npaEr0qWAVGG83ZPwjZUrdie7TVBtb2rWmgurFX1GzeYJWbkyCNsLBi+XbuFoty+aJplQl4wWc1Fq\nkI6iJBi6IRwXwvS6bMnyYD7kZ1xpxPmt6QsNSEgOhKiDoUUba0WWnYoUki+IZWXqFmvLbEDMlMi1\neDHnQqgmHMStcf7QpD6nIbzrSVoS+lpZJVHfDsZ9JU3IZebJTgWu0wSWlCgURKRcFyh+9oRHrA33\nhHZijsQOYRMBhEd9QiIzNKTIdhk8rjpbVcm5KRpGx55Fuv44tQ3DTKPU1EkBuW46m2w0OL94DoB6\nCw4HAFpK1fEdyDA4j++zOmIh6mMiHYR/EB18x7b1wF8tUdtaT/3UpJ9BZwjbi43Hp8dzgoGG3KVI\ncFv75GQoHuHGyNrc21W7jYYYfgCklKjvsksc34AYm+wdg+etcMRKZM9jg+Ywixv1TcbfC/5BthKp\n8t2h5MbKiUqROI3vslayk+n7NucLE3hjoRmzj0kM3MACPoAl9t+P7/IjrgKpjQuUAAClbv8AE/j8\nPnbpp0JbS/Z5AI1zISFAki5LjQ426b7n5eq2QKVSQIBBD7wLD6eddQa/T5ee/Yd8Ttvl1LCV76Cg\nb9rAb+p26dNiOAs0OnGkRcyyk3Cnw87bjZJUvp8uPlhtQVOg7+J1AAl+9vfgOkQ2Gvw9Py4knNJU\n4UIBspAFun7JI45P9cXsozlzssynZCgQZbiPe7WQR14vt/jhSooZ+7KUTb2mbQ+fHfXntsAH1Hf6\n8V4ZENTilCxB/Djgfnbc7YKVBjzMtPtsqt5hQQR3C7E7X9b7bG3e+Hf7K/3y/r/z4ufabf7v/wDV\n/TGX/ZUr98/85/pgNKGEFjGL/a2ID+Pf9S+e/n+EqSCjSeo2Pba/4HjnDo4m9+Ljn+R+RHXn5YVq\nG2kBv1+fvr08h/P1DXFdrZ1Sb8nY/M7/ACxNbzGbi1wncdTbY+g79Phi2/KLzgWvlSnLrum1XMGF\n8rVpKnZ/wDkJsD2i5aorNyo/RauTdCitet1eXUdSFJujIhndek11RWQdsHDhvwXp1UdpL7x8pqVE\nlthmdBkJuxKZSdQB2PlutklTLyQS2onZSSQc2zrkGBnyLAQqoT8vZjoM1VRypmukuFuqUCqOIDal\noF0pl0+YlKGqnTXVBEthKQhTbyELx2ZwdimD5WOdjmgrXL9ccgxOD8u/RPZq5psXQMhZ5dnYazBZ\nGw4xs1Lh7WaPlAB/a8cvjzTKt2R+dxYGUa6bOCSQyDh+/etkSIim1mppgvPJhzMsTKiw2pxYW2h+\nIHWUuFKrKcYOtLbhu4lKgQrUVKPzxmGvSM7+HWSns2U+lSMy0Hx3y1kqsymoTC4kuRSswOwanIgh\n5kFmDV2kx3JkNtKIzjyFpLIaS001Rrk6jLXS8e1DnLzVzb8yWKKHauaem1CjVXDL6eu2Us85xpjG\nBlZ+z239qsg1WntarVIKRaVueuF4c2mbl28lIVyJiVUwAj0RSkusMt1eZVKhFYdqTLTLUQrekTZj\nIQpxx3zH22g022UtuOvF1awpSEpI+9p2fVwanUqr4b5byDk6u1WnZKqlSqVQzEiLTKLlbLM56SzF\nhU4wqVOqLk+dLZXMiU+mogxWFNNS330kktX0vtls2O86/wDaLIigWi10uNgaC5uMFH1O0T9bZwlu\nnMq0dzL2aFawkixRibE/UfOU15uOTbyqzVX6mo7M0KRADjrrjE7PaGXHWkoYLqEturbSh1yS1qcQ\nEKTpcVcgrTZVjpBttjLqdBg1fKf9keTU4MKoyJNWTTZTs6FFlOSafFolSSxCkOSGXFPxGktIUiO8\nVMpWPNCAslWK80PNzTBXJt9FVzAWqvuMjNccfSIc1WR7DAP3pV5K0DHL1t5JKBIypliK2MVV1pqM\nkJVRQp7I1ZOpBcAOu4KITNEKj5ZqDrZkeyZhqUlxtSrqdCFoK7KWSC5ZRWhayf1iUlRtc4dKllk5\nn8RfHLKcCWijqrfhFkikRJbTRSzBL7cxDILLASUw9KExn2WACIbjiGkkhKCcMUVS51f6SL6OrPdA\n5ocq8wPLbzTZ1uUjie53S3XdneoIgWWQeZjwZlGsyk24Ti5yuWhxCHsEewAKjcyMYuwJxSJ2bfpt\nQoz7eZaFUGKnKqFNqkp9yI8+8+H27OFcuDJaWshC23CguJTZp7SlzTdIwp5jqlNl+DvitleqZIoW\nVM45Jy5TYdfp1Np9NcpckqhttZczRRJrEZBejTIbclMV129QppdfiF9QcVeqmGLbbLXiT6cyVtlm\nsttlWmBmLNhI2qwTNlkEY2J5qpUsTFIPp16/dpRTAAFKOjUlisGSSiiTRBEhzlNz563Kbmp9bi3H\nEQA2VOLUtVkVU6RdZUdKUkhIvYbpAGDNRpkOBnX+z5Biw4sOFJzOmX5UOMxFaLkrIzQkvFuO22gu\nrUAp1zTrcUkFxRIBCP6S3IV9xbO8vHKxjq2Wqp8u9X5H+X99E0SuWKwQdEyS+y7VXN0yXebpBRUg\n0j7m8v8AZl3TeedTiMkVVGPUatiIAK5D18wuPw2oMOI46zAiU2nKDDTjiGZHtjZekPPIQoB5Uh0q\n8wuagbWFt7k/CWHS6wvM+aq3AgT801zxEzfFeqk2FDlVOjpy9NTTKPS6dKfaW9Tm6XBS0uM3FUyQ\np4LWV+4RI+fmzn5t8bO+e7C+W705xA5uuI8d545TLZMTjNjyvZXTx/8As1QhpFfRkT0Ww4jsDaKn\nUKJZoaLj5eFdTMkwelUWkJppCcZiT9sQ5NbhzH1xlLiIl0x1bgTTZSI+lnyEBXkORXEhflOIQlSF\nKWlW6lpRa8KkJ8NqpE8L8zZcpbGYEwq7UcrZ+gRoi3M60FyrCXU01KWplNViV2I69ENThSJD0eS3\nHYdbslmM5K4ynMKBlTlMAkTcgqQSjshiiffUQxdlMXe9CXYD30I61wrt6ZCgDv5sYpvyLpSQP8bY\n+j3z7FSpBFxpfDh2sUha/f2O43PGxBt3uX4xyOTyOtf1rMOnt2EegQ+Y9+3bQcUIqyy7CKr/AKt8\noN78Xvvfkbbf13xHVmddEloRy8w6sW5PuBYvbn177Ww1sHX1cI1U29FOCZt/IBIPv/j39OL8qN5i\nqjYDYlwem4VsOb/ntiGJPDVLobCzvJQiObk3ulYSL/hte+HcpyLoy5fVT4ZgD37CUQ/QR9Pbz24r\nxHFNy4a1E20LTfgXHvXO/wCI+O+KWbKcleXnYrSSClxtwBI32fSTt02N/n8ThpPpFnHmAe5jkL3/\nAN04l8efTfbYdvYeLyGw8Kkq33StQN9hcarbDr13+Hp49U3IM/KUMqIS82y0sd9J0EH5Ec/hxhyT\nclF8gY5h7dW9h/qiUQ/kPf8A6cCi2UMpUBY6k9/Q/PYdD/DDussuoqUNJBU5HdFh2Ox435Ox/DHi\nwlOuqJO39WGvUdl3/cO/mA69eLTCit9JcN7mxvxv6H/IfDC8pj7GyhOQzcLS4FgDY3UoJJv6X6fj\njQgp8FUDmEQEomAdAPgS6/Pe/wAvXuHHEhtLjzqUbi46bc7cWt136HBSjyAvK0RUkjWsLCtX/wBw\nkc9Rtbjrxh++0/8AfL+n/wDnil7Mr8kf0xBqif731/8A+sB9ZT7wm8feMHpodDrsHj9fmPYOC7Q2\nIVz+NgT1+nyxUdF1FSOQATsOxPfnjY/DCoqu0x7B43rx4ARAf4/qH58QLGly/wAevNiLj+Py6WxL\nHVdGwtfn+H/+vXnti0nLnzQROBomywc3yucqXMQ3np2JsjB7zE40nLnM1OVh2CzBujXJSBuNVVLX\nXpFfrM1U5Mj+FmXyaTp2n1EAvBmNPRDbWFU2lzwtaHAqfHcdU0tCSB5akPNkIIuVtK1IWoDUNsZ7\nmzJj+Zp0ORHztnnKBjxn4TreUKzGpzE9iS6l1apbMmnTk+1tlBRHnMlqRGbKkNqsb4IlT+kM5hYP\nmtnubyfWpOQ8iW2sz1BuNTuVVKbFtjxfYqujTHuLFKbAPoYIiitK00YRkLFw8i1WjisEHKrl84Xk\njyErVdnInqqq/JkSHW3GHmnmx7M7HcaDRjeS2UaWUtgISlJBTYG6iVXD1bwkyovJ8LIcRNTpNGhT\nIlUp8+nzj9uRK1EmqqLdcFRltSA/VFzVuvyH5DK0vF1aEttISylp4ov0gt0x/TbHjuKwNyyStA/p\nvdcw2G6ZbceWGywXLLlRyxRiyzOFUHt0IqaJbMWkf9Xq+Rl75XzyEYylXzF6sVwi46ZrT7LC2UQq\nepgTDPiNOMOOIp0rTpC4gL4OkAJs3ILzd0pWoKN7w1PwuptRrkOpSc050j1N3LCMp5hqUCrxIUvO\nlDS4t5cbMi26aU+e64t0rm0hFLmBp5xhl1pJQpC6v/SK5ZjOY/mT5h5zHGFL4PNvXpurZ3w9darY\npXD9wr839huDx6cUja21pixYyVfZSca9QtSjtB0s/SMdRFwmm35TXpaJ0+oLjw3zVEKanRHm3FRX\nW1lBKQnzQ4nSpAUkh0kEq6Gw8f8ACXL8jKGVsmx6xmOmHIExioZXzBTZ0NjMFPlxhJQHlPKgLhPh\n5iU4y80qClCkJaUAlSFFQ8jucixxuPMHYxmcW4NtONsB5uyxmmt0i8VuwzFVs8pmRMjeepF3j1bm\nzLL0WKbkTQqsfHuImeYqN2jl7PSrpoicKwqroaixFxoTsaFLlzW2X2nFtOqmCzjDyS8AthAADaUl\nDibAlxRAwWfyFAdqWYK/HruZ4FYzXl2g5Ym1OmTYcabBZy8SqHUqa8Kc4Y9TfXdU555MiK6FuNtR\nWEOKGJJc/pActv8AIPLndaJV8R4IrvKRNq2rAOKcXVmTjcX02yStiZ2W1Tsm0tllsdgtsze5Vi2T\ntsnYLIs5kmJCx7L7OL1qqXRV5BdpchpqLCZpjpMOLFQtEZha1Bbq1B11xx1x4geapxwlSRpTpFyQ\nMfwxoiKXnyiT5tdzNU87QkNZhrtbmMv1upRIsR2LAjNLgw4kSFGpra3PYmIkNKGnFFxzzTYDOwc8\ndtm5Hmqf1nDmCsVxXOVQa9RMpVbHNdt0bXYg8Hd/6Qn1spTOTucoeKtVrsx13NjVk1ZmEVQXOnHQ\nseuUrriKbWHVKrLLUWHHRU222n22G3UoCUviQXmgp5Wl11zdwq1Nm/uoTzj2ieG8L2Tw9kzK9mSs\ny8g1GXOpMyrS4L0t7z6eaU1AqDjVPZ86DAjAIhpaDElJSC9JdT7mEsxzz3W2YHp2C8pYb5fcxKYz\nqrrG+Ic05FpE89zhiOgOHovW1TqtvhLfCR0nFQS5lQqxLZBzp66g4XbtTrkOT4dlqqOyKaumyo8S\nR5MMtRJLzK1SmGvvhlLqXEBbbZuWtaVlAJAJBsKFW8PKZTMzJznl+s5loqqnXWanmOgUyosIy9Vq\npoDL1SkU9+E+7HlS0JSJ6okhhEpSUrWlCr3mth5xo/MrSkYImcXcu3KTy3WbPuNMlcwI8vGMrfHf\ntceAlW7B3bLQhI2e/WN8yp9WfWJap4/p5Y6EQlnoLNo1w4+rC3/RasmcpinuxKfTIEh5t6amBHdR\n5ykXSVuanH3FJabK/KYa0oSo7JJItPVfDxeXIFTzdHzBnDPecKXl6bTMrrzdWoEj7MZk2f8AYoPs\n8GlxUOz5jcQTqrUPOluMNaVOoRr1hnnIz4Tmi5ms75ybMPsaCvlxfOaTBC3bM/2dx3BIt6zjqAFo\n0Ii0aqx1MhoUjxBummkSTVfCUoioImFz6gqdWnZ2ny23pbiGmwAkNR0EMx27AAApZQ2CBYatVsO+\nScqoyj4Z5eyoHvapUGhJNQla1uGZWJYXUatM8xwrcWH6jIkFtSypXkIbBItiuUc56VSAbX9a3MQf\nYekA2PftsPx9eBclqwcWkbtyAra/VR4/yw5h4OQacysgrfjJTY7FRDZSoD/D441PAAke2OUB2R8H\ny0HxB7B6a1r5+oe3F6ErzH5oVwuKT0NzpHxtvhdzC2YqKEWrgMVFoGw4SoBZv/yd7bnbClF0BF3K\nXgVEAH12IAPbfbv5/LwIcVHGVJZjujgLKfTj+Hpx89sMq5TU2dKpxIJaYDxB5tqRyOg3B/IOM3HQ\noxZaHYpqn2HjWlAEvp6hv5eewb4mjOlszkkn9YlP4pt1+vqeDe+A9ap5k1rL8htPuxnHLkbgbNqH\nHHFh/PfGtUwEkQIHYASEfUO46Ht/EQ7D+PcddLQk05lfBLgGw42tv8/h88dUuorczhWYy1EtNxXL\nA3sLBKtgdtxfte/XG9usX4xxER8D2/IB9vAhruP4+d6puoU2pBAtcC21u/8AH5W74ZStmpU2Ywkh\nSQ6EKAsdwbkH83/nioIKip0D32Guw/gPb2+X/MeJYtg4Svix5/NvhfbjFGthUTLrDMYWIfbSANrB\nRVf7oO23x/lt+AP9oP0Hiz5rf7x+if8AqwqWmd1/n5YHKvSJjAO9dQgH47Ef8df48cJ5Jvaw7E7f\nL8/jhoNx7wOx5H87bfn0woSEADuPp7evn+/8B88QubkG3e3px3ucTtgWJHB/jv8A4fw6YPXL/gdv\nnWcnox9njl0wGxgW0MqpYeYjIz+hRUy7nn68bHRVYbw9XtkxPv01kDLTB0I1GOrscdGTmn7Roumc\nSkOCJwUlUyBCSgJuuc+phKitRSEt6W3VrNxddkhKBZS1JTbCTm/My8rNxn2ssZtzQ5KW+ExMp0hq\nqPx24rSXnX5q5E2DHitlKwmOlbqnZbwUzGacWlQFgq39GtzR2PmFzvywpxFGhcvcvFAeZNu8bZb2\nxg65I0lo7pxCWGs3N0zCvu4Z7B3iEuLeXm3NfjEqkWSkX7pm+YHiz2Wcv1JcybTdDKJUFkyHkuPB\nCFNAt2cbdIKChSH0OhSy2PK1KJBBSVur+MOSY+T8p53L9Tk0HNlUbotNeh0xyRMZqS26gVRJtOQ7\n7U3Iak0yVT3I8ZMp5U8stNIcacD4i+d+RnL+EZHA6UbP4uz5WeZwXDTBOROXS4Oci0XI9kj7JHU+\nYpsHLPoOsvRs8RZpeLinbJzGItjnfJLovDJovysuZNHkwlQ0hyPNaqIIhPwHTIYkOBwNLaQsobPm\nIcUlKgUgXULK2IHVF8SMv5qjZikGLXMr1DI5bXmek5tp6KTU6TCehvT41RkstSZjfsMmFHffbcQ8\npYDRStsFbRd6d1rkxvfKdyC/S1s7zfsDZAmUaByt1C2R+G8mscgy+IclV/mIj3tkxlkpkaKh31bt\n0cylGhjKMEpSAkTN5Nmym13sO/bIMLdJep1DzOh56E+4Gae04mJIS+uLIbnJU5HkJ0pLbqbi9tSD\nYgKJQoDGJniHTM7eLXgZKptLzRSYjtSzfOhO5hoztKj16lS8qvMRKzR3A/IamQH3G1gB1TMtsLZW\n5GS1IaWoCfQlMMYn5uMiWfNFcg7PjKgcs2TrBa4+xRrGUi28dP3bFGO1ZQ7eRavG6a8a3ujtyi6+\nECqAFVBJZD4iihamUmo32kuRKbQ5Hap0guhxKVpAW7GYKrKBF0hwkEC43Hrg7/aIl1oZGiUihS5M\nOtTc70aPTnIrzjLy1MU6u1ZLIU0tC1JcVT0JUm5SolJKVWANjvoluV6p4v8ApG+YWFzdW4a21nlg\nuC3LU1jbJHR8vDTGS8155YYJx45OxlWr5i+cDS2FytzEFEVDHQb/AFlE5BEq5SeWqe1FrVQZltod\nbgPiGhLiUqSp6XLENk2UkgqLQdcG3AuCL4TvHbOE+t+F2TKrl2bJgTc5UpWZH3YTzseQzTMu5eXm\nSqIDrDjbrbYnuQYTpCkjUrQQd0nlbhLlWcZ3tt0qrfPPLNhOQgMjjQIGPz/k99QpK6WiXnZqNhIS\nnxcVU7U6eoncx5I+QnZAkVXYaQeRrF9IkXftkzKMem/aEp0e20+GoOezoTNklhT7qlqQlLSEtOqU\nLpCVrVpbQooBVdQGPoCs51bybTYUleVs5Zjjyaf9sSHcq0RqqMU2AiLHkSpE95+dCbbUEvKdZitF\n+XIZbfdaZKWlqxponJJzAXrmAyxy2LQlapF2waa1SObrHkO2RtZxlh6tUd0i1st1vl9Ej6NY1Jso\n5ZHjZOPRkl7ASQYDDMnYLnFC83R5ypQjBDbLsVDyJ7jzqW40Vtg6XHn3rKQGhqFlJ1ly6dCTfZeq\nPiTlWNRkVxUqbU6ZmP7MeyrEpUB+bWa/LqyFOQqfSqXdt5yevQ4HmHlMJilp4SHG9I19LOXPlhXk\n+SX6UvCEDmzlstrSFyTyEzr/AJgozJwNeXeHqqU3cLNO2h1kew16Ik0I2BYKjGzDFnWHU4vYkjVq\nJipaTVQRWL02nlukV6O3Lp7iW5lGUqcmTpgoaDrjjizIcbQoBCV6VAIKy5+rSlSuc7zvnJK/ETwa\nrE7LecYC5WXPE2I1lV+i+ZmyROeiQoMWI3SIkuQypyS+yH47q5iIyIZEx9+OylakgHCvJznrAnPd\nTsGOKPywZyttkwZf8o4/Nkl9J3rlpyniyfw7cJ9hkmuyjKETk5M6MJGy8hSnC8G0VaW2LbFX+ptl\nG00mPj0adErCY6Y9Nmulh6Wx7UovU+RGeiOrTJQtKAokJQpTJKBZ5IuQCF4csw+JOVcx+GCa19q5\n2y1Aj1ynZfq32I2zTM5USuU+vU+K9RpTDsksMpcfejNVJtMlaXKfIc0+YsLjkQ4H+jqy3m3E+Ic3\noZV5b8TYryxdbPjCrW/OOWxoKSuSK7Jx0HGUJaOCuTEk+tN3dvVnNVawTeXZmi4mYk7E/gEWzUj+\ntBoMmoQjJ9ogx48x1bDL0uQWh7QytCA0tJbUrW6pd2tGsFKVFwosAo9nPxdoGU8zPZaVRs21qtZZ\njxKvUadl2iCpLVRahGkSXKgw4ZbDIi05tsImmSuKsPux2YrcpS1qbhNc5K81TuYc04JshqNi+Y5c\nP2llM+3nJttSgMW4kr9UlGkQ9sdlt0fHzSz6OlZCRi2tQa1uImpq4LyrBODiVxO4FrSjUma3UpkZ\nfkxlQmHTPfkuhEaK22oIUtx1IWVIWtSA0G0LW6VDQk3NjuYPEHKr+WMtZkhfaVcj5rl0wZTplGp5\nlV2vS5sd6Q1Dh0952Mlp6Oy0+uoLmSI0anJYdMp9ACPMGHMRy+X/AJacqpY/vqtalDS9JrGQKbca\nPNGstAyLju6sjyFSvtFsRmUcpMVuebIuQbquI6PfNXjR6xfsWzluYpp59PdgQmo8gsuKLjbzLrDn\nmsSI74KmX2HbJK23EkkakpUCCFAEb1skZxpuba5UavS0To7LcedTKhTqpF9hqtIrFMKGahSqnE8x\n5MebEeQA4lDzzS0LbdacWhacBVJYFG+gEdEWOHvrRv8Al+ncNhwHeZLTy07XU0g/UdfXf69cadS5\nTU+KiWLHRJfaB7aQng97W9N7DblUcpTPSn8iYuhD038MPA/p+fjXjjzzSYjbfGhQ7jhZuOeN+L32\nxSj04s1qsVCwBejKCT1P6gA/X+IOESBx2uYQ79W+3fQBsB1+e9a9gD34szEBT0dCQT+rO3G+38vw\n4scD8qTFtUSqyXybCYpQKr7CxT19fXoOu+FKCoaE3vsN/MB9v8j27/Kk4gocUm5Frgi/S3T5fx27\nFsQ41UaRFeJBQ4srF+PdUtNuTva/XnfDj8UPl/xB/hxHYev1P9cceyNf7v8A6f8ApwLz9zn2IiPU\nOvfex7fh/H19w4v8WsABc37W7/H8OnY4ooCtrbg/n436W/zwqT/cDfnXf8eIVAEnte46YtJFgPnf\n646Z8pOGqOlylcy3NtJYBb82mR8bZVw/g/HGDJkl/k6FCOsqRspJu8pZKqGL38LcbvGqOGbKjVKu\nBYIeAXsT1wrKqO1PqwNGOlxWRS59SXCFTeYkxYjENYeWygyUqUZMhqOpLrySQllpvzEIK1HVe4Aw\nzxCzHUnM/ZQyIzmhWRaNV6JXsyVjMsf7LZqklqiussIolIn1pqRT6c8lDjlSny/ZZEpMVtIZCE6y\nvsrmgkq258fpYyTEO0rc2n9B0qSVgoxFVoxhJIMRYPRkYhkio5drIs41wC8a3SVdujptkCIKOFxK\nY52eVqFczNrQG1fogNaEghKVCLDCkgEnZO6RcnYWJO5x8/0HyHPCbwLEaQuWwf7Sn93lPKStyQya\n7mUsvuKCG0qcdTodWpLaAVrKkpRfSKw8qlnrNRw79ApZLo6aM65FfSH81BX8hJLpt2EYrI3OpxEP\nIOnKwlRbNWNhkol6qsoYiSIpfHUMUCGOFCnLbajZLW6UhpNcqV1KNkp1OtJQok8BLqknfYW7Yb84\nRZtRq/8AajiwW1uTXfCfIvltMoK3XUsQJ70lptCbla3IjL7YSkFSgdIBJsYhXMGZuxNyl/T1L5Zp\nFwrHXaMPVgZmzRMnFMrXZY7m7lLLKvq87kUEEbOx+xrJBzis5DnfxhGdnh1DvSnlkCKRsxJcSn5z\nVKZdbu7Fb1OIUlLqxU1LWWyoAOp0OIWXE3QA4m6gVC96p5ky3mHOP9l5ugVOnzVohV+Z7PCfYfdg\nRFZFjRo7UtDSlKhu+0wpMVMeQGni5CkANn2dWmlHI2LiPwj9KTY26hkF2fIBI1hu7KJinbu73zA4\nei2p01ChtNT4kaJimLo3UmBgMXpEwCaQopgZkIJBRSFISf3S9MioBBtcG6QRv06WvjQ/EyK27nDw\nTbWAUy/EtmS6gjUFppuWK68u6TsRpeIN+irEEc9qbbkyppZc+jZzNW5OPGxfSZc7vJDzS5PaxgGb\nqxiWBcZ48wXZImSRDZR+0c83e+2FQAExF3jNRYehf4xEmx2U0JVAlNqT5mYarSahIAuClMKOxDWh\nQv8AtTH3l9blJJ3vj52p+Xp6qB4y5dmsPex+DHh74i5PoanSFh5zM9ZqeZYshomxHl5ZpdNii4BC\nHQjdJSTR+G5eavjKqZ05hIrlsi+bnNUz9KJkvlLpWOLYxyDYscYhYwdlk7S2utlpWM52tytmttxl\nXaERUhtMq2p8G0YhJqIOXgLpLBI8BphMmeIKalLVmSVSmWHQ+uPEShxbnnLajrQpx15RCWvNUGkA\naiCrGl1PN0+sP5fyqvNzuRsvxfBGiZ+qFUguUqLV8wvSIceEabDqFXjS2YcGnx0LkTvYWVVCS455\nOpDekptrzNV+QyNl7/tEGHsbQ76w5utL3lPv8FU4GPWk7ZcMUYrlqlL5diK5FtE1ZCWUjyScHNyU\nZHIrun7YrdJNBwouikqaqiVyTnSFHQpcsvU99DSElTrsZlbDklLaR7yyAUrUlIJIAAFyAc3yM5Fo\ncf8AsrZprD7UTLzcHONIlVCU6liBArdTaqkWiPS33ClpgOlL0dp51aG2lFSlKQlKlJ5sYFh5+s/R\ne/SgxVih52vS5ct/R7ndxVhipSClU276+3J+yVdRku2ZSCSTxqs2fNDuGxCOW6rZ2gKiSiShl6E2\n4nLOY21pW2tEikLKVpUhX+uWsXQsJULgAgm1xYi4scbVnKZEe8cvAydDkRZcZ6jeI8YPxJDMlhSk\nQ40Z1KHo63GlKbWtTTgSslC0rbXpUFAdOcK9Q86n0OBzCJhD6F60EER2JtFxLzGgUNjsekoF6Sh4\nKAABew64ZIBvUMvpO5OUQQe5DU8bfI9uoxiWcGiMk+Nq0gAI/tJKQoAWA11PKahwLbqT3359cctb\nyKg/RVfRqAUxg6OcvmcU7GMACckhj8oH12ATFBRQpTa6gAxwAQAxgFYB8vLlCTuNdQqg7XN4xvvf\nm3TG7qZ9o8cvF5YAKmck5DcHBslLdXuD2/ZKhvewJF+OuuV56LNzE/8AaBaRG4TrHMZkZzMcqGTY\nvCFlC/HSv+N8ZOqw7yMsyZ4vna1eZVxRFpuAu54yElkwcKs2ij1pIIgRoq1TtAlZwSiG1PfcVT3h\nDc879fHirbMggR1tPLLPmIeKEL3KRqBGx+e8qCQqi/2ZZcjM07J9Hixs40dzMsM0oKpNXrseoIpK\nXHK3Fm0thFVEWTTA/JjkoS6sNLZUS4ngNzfZ+ueeLBhZra8F1fl7i8MYOicUY3oVWi8mxjImN29k\nsVjgXhv6WJmdtUi2K+mJdpFyJn6zBdokoRBRZRJUwIlTqLstqE07CbgIhtssMMMpkJAjJdWps/3p\nbjqgVLWAvUUqANr4+q8jZJp+W5GZ6hAzPNzc/mKozavV6vNfozzqqw/Baiy2v/YMeLAaXoZjreZD\nKHULWCtKQpN6XtjmTYrGMP8A/IU9+2xDQ7EB86/X29fJLKXZ6UpBt7Om4A7Dg7+v5AwTodTcgZWW\n64SFKqjgTqt+2lO255sD+O/GHUpxBRI2w3r/APrr19g/kOuA5QdChbYH16KuLfTj69cacl1ClJRc\napEdKrdSC0Dt3O5sLdLX6nESj0L9OgExN/n1B7/j/H8+LCXNUllSr7H+X06b/XC9Ngey5cqEZkaV\nLIV7vJKnBvwN+p9NrHcY07FJAB8D1CGg/AP013+foA+OJAkPynO1gbjpt+P0N+2I1S1UfLNMSu+q\n+gj3rlRUVdr8H4DCj4o+/wDEn+PHnkj0+px59sn0+pxCR0Jh9uof5+/EBJuodzv8r2+X+GDyUABN\ntwbXsP4/j8MbdlD1D9Q4j06jc+ot8zb8Pxx1q0ggX5vc9Nhf539MWCwnK80lKrGY8qcvFkzNR6jS\n63XYnOl3xNcLDTY+Hqd5nFK/WY69v69NRDlzE2CwCtGxKCib0CyJlRR+qCoosctCVUGWZUiE5KZb\nabQmW7HdW0ENvLKG0vFC0EpWu4SCFe9fjfCLmdnJVTn0Ci5riZeqc6oy5b+WqbXIESoPSJ1OjiTM\ndpjUuM+hD8WLpdfUFNXaCQrzAkJEQVzZmRaRnZpfLWSl5m0Y/bYns0qvebKtJ2PFrOPYRLTG08/U\nkju5eiNoqLjI1CpyCriDSYRzFqVkCDVEhKntUouLWZMnU6yIzii+4VLjhIQI61FV1MhKUpDSroAS\nkBNkpANpy3l5MKNHTQaMmPAqa67CjppkJLMStuPPPuViK0lkIj1Rb7zzyp7IRJLjrq/M1OKJjr68\nXOWqNdoUnbrLJUWoSU9M1OmPp2Td1WsS9qM2Us0pXoBZ0eKhpGwqM2ak49jmzdzKnatjvlFzIJiX\nlb7ykNsrccLLKlrbaK1lptThHmLbbJ0oU5Ya1JAK7DUTYWmiUynNSqlUmIMJmpVKNGjz6i1FZRNm\nMQQsQmZcpCA/JaiBxwRm3VrQwFuBtKQogkO18zPMbkCNdw19z9mq7RLyoR+P3sVb8pXeyRjyiREu\nxn4ynO2ExOPGrqtMJ6MjZxvEuElGgS8cwkjpqPWTVdK2/NnvkIenTHW3GksFLsl5aS0lSXEtELUo\nFCVoSsJ3GpIUfeAIXKRlXKNLZVIp2VsuU6VEqb1UTIg0SmxH26i+w7EfqKHY8ZtxEx2I89GW+hQX\n5DzrIIbccSodwl0ttch7VA161WGCgr5Fs4G8wsRNSMbFXODjZdvPR8Nao9m4Sa2CKYzbNpNM4+US\ndNW0o1bSCKRHaKapaiHHWxIbQ44hD6NDyErKUOoCgtKHACAtIWkLCVXAWNQFxcMkqFAmu0qXKhQ5\nUmmPuSqXJfjNPP0+S6wqM7IguuIUuK+7GccjuOslC1MrWyo6FKSZzQV835BuGNahjJbKd2vtRWUL\nhmsUle12S1VZzHyj6/LkxpDQ6juSgVWUyjJ3RYKy3ZghKEfWFTpeAs647ZEx92I3H9peeaUoRW2S\n6440QVPn2dKblFlhTp8tKbKCnDY3VgfV/wBGaRCr9QrCKJTqXPQk5imVJEKJCmodZZpiPtmQ+EMy\nw7HUzTk+2LWVslqILoKUY3QfMLnuoL5FGq5ty9VVsxkkS5cGv5GuUAtkxaRXfKyhsgDHS7Na0uny\n8jJfaC84Ll44M/kUXCpyPHaSs8eVNaRJU3Lktl50mUUPuoMhKiVK8/SpJcKiVlRXcnUq53VcTU8t\n5VqEqiRZ+XMvzmqZDCcvmVSKfKTRvIbQiP8AZXmx3EwUtIaZ8lMbQ2gNNKQlJbbUltjs15iaZEQz\nO2yzkprmJF6R8XKra9Wdtkcr5COQiEXQ3VCTTsRliRDVrFAY8gcp4xshHqFOzTIiHUiXJRNXKbkS\nEvrCHBIQ84l/UEBIV5oUHNkgJNlfdAB2FsVqHl2hy8stZel0SkvUeM/Iiqoz9OiOUtTSn1vls09x\npUVSS66p63lXDqi6khw6istue84ZBG7q3nM2Urkrk2Uq8nk0bRf7PO/0hSNITFGlPrsWSk3BLO5p\n6IijVVZcroa8iPwYf6mlonEy5ctS5QfkyHRNabW6XXnF+cpoWbU5qUdZaBIb1fcGybDFKFl3LzSK\nP9l0Gj045VqMuPS0QKbEippceoOBc9uCGWUeyInLGuYlgo9qXdb/AJirnHzPN+ZY6VqNhi8uZLjr\nDj2prY6os2yvNlazFLx85aSUe4otVkkZMjuvU5wwmZdkvW4pZrDqtJWRbqNBReuCKQIlS2nG3DIf\nCkxCwwsPOBTTJBHktKCgUNgKUPLSQmy1C1lEE1Ky9l2pM1OCuh0dxmRX2K1VIyqbDUxUaolbbn2l\nPaUyUS5+thhQlSEuP62WlBeptJEdNfLo7q8BQnVws7ilUudk7JUKevPSatWq1gnxaGm56uQKjo0V\nCzEwZgxGUko5q3ePxZNBdLK/V0eiB1bwjxUea4WUeattorUW2nFlIWptF9KFqCRqUkArsLk2GDEO\nHTVV7MMwQISajLZgRps9MZlM2bEZQ6Y0WVKCPOkxo5dc8hl1a22vNXoSnWbyVLNmZGmVnmb2uW8m\nNsyKuyzR8tNr3Z2+SlJYWScaeRVvCMoSyLO1Y9BGPXWWkVBcsUiMnAKtSlS4somSlGLJ9pk+1h9Z\nVJ89wSCsgAqL2rzCSmySSrdIAN07YAu5cy+w3WaCqg0ZWWzRmW0UJdKhKooZacL4aTTFMGGhCXlK\ndQlLI0OqLiNKyVYS33K+S8yWg96y5ka8ZRub1i1YOrbkO2TlzsazFgRQrBgeYsD1++KwYkUWKxYJ\nrJsmYKrA2bpfFUA1ac7JfkPLlPvSXQtKS4+6t1zQknSnU4onSm50pBATewA3wbytTKJSMv06HQqT\nTKLAcQ44mDSIManxPPeUoPuiPEaabU88UjzHilTjmlGtZ0iw4cl6GRky6ETOOodD/aEe3z8B8x8c\nWoruuaVqJsGLfSw67dr22GF6vU0xsusx2uVVVlSgOytdySP47X743nWAHbVPYa+EAm/4PTx/kO/t\nxCGgYchzg+adJsf9p/Q/Q+uDKaitGZqTCKiE/Z6CQTexMXkjvcD4DfCkipTCqACAiAAGt+fXXoP9\n+td+4cU1tqQWlHYKBN/wvyfS/T0thmYlNTW5rQIIZcShQ7XCjufS29/hbnHxwA6YAAl/f2Ab9A7e\n/fwA9h7jvsO98SMOFpxxRBuU2v09DtuAPX03AFsUK/CE6FBYR91uQF2HbTY3AtxwOR8+FPSHuH/E\nH/y8fvOPr9BiP7Kb7n6J/riBb0Y+x8mEA/IRH+/jhYvwONz89v5YLhzSQOQR8vT+fp/EZcfkp4N/\nW38MQuO/eHUi4I/H473/AMeMdX+TIAH6Nf6Y8RABEKDySaEQ2If/AIl3e9D6fPXDLTP/ANCzR/8A\nYpP/APcDjBfEG/8Apg8AACReqeI3/wDh7XrvgD8qPLbj/JGOuYPmKzk8ycGDuXFpjqMlKphRrArZ\nZypkzLtgdQdEx9UpG0Rs1XasxbMouctdwtsrBzScTCRjdq0j1HsokshQp1PZfZnT5ZkeyQPISWog\nQZMiTJcKGWGlOBTbadKVuuurQsJQAEpuoWc895yqtGqOU8o5aboxzLnE1Z5mbmNySihUSjUCIiTV\nKpPahPRpc11bj8aBT4DMmMXpLy3HHg2wpKp3nDlp5dOWXmUp0FkaX5ib1yzZbwRj7mFw2egx+Oaz\nnuwwOXYP67SaTbSWxq+pkBOQ1hY2Gs3GVioWRcqmi2DyErZXEkqyZzz6fAgTmUyFTnoEmGxNi+QI\n7c1aJKAWWXfNCmkKS4HEOqShRukFCLqISEyhnLN+b8pVR6kMZSpmcqFmWqZXr32s7V5mV4j9DklF\nSqMEwXGqhKjvxXIsunx35LKAH3ESZhQylxyzsV9GLiW288XJpg+tXDNMHg7ndwTOZnpB8iQ1eruc\ncZPI+m5HeKUfIDb9nxrrtzBXGmxqcnMR9bahJ1mUcjHtyPUEJNckmgxnatSIjbstEOqxFS2S+hDc\ntghp8+S+PL0FSHGkhSw2NSFE2BAUUV3xgrkHw38Ssxy6fl2TmLw/zDGy7UhSn5crLdYS7UaSyKnS\n1e1e1tok0+ovLZYelrLMxhHmqLSlspiGP+UDkHvdV5wslxWbOZeTw/yWUnl8kbZcIqo45aWDMFzu\nGRLpQclNMbVeYIRtAVW3ykXUo/DMtbpVN1XEJaSn74zsDVBs0U5ZpNHfFUkJkz1RqaxBUtxDbGqS\n66+8y+GEKFkNuKS2IynFXRqUt5KxYYkqfiL4mUn9AKQ/QcpM17O9YzVHiwZEyrLj0Kn06lUypUld\nXlx1FcmZCZkTna+xCZKZRYZjU1cVxS1AyYZ5J8dMPpCvo+I/lpzxzEY6w/zmYanM1YzyK0lqvWOY\n/FAtKXk1ha6g6skDEGqryRbSVbCJcS7KDBlIwM7JMSpLnQRk17EWjMIrFE9gmTmItTYXKYfCm250\nazUgOMlaE+USFN6VLCNKkLUOQFERmLxOq73hn4rfpjlrKdWr+RqvHy/VaUtibMyjXCqpUZcKoNQ5\nUj25ttTExMlth2SXGZUVl0lIUplNZcPcsXJux5PqBzi81GQeY1GOsHNVkzl2f49wg0x45n54ISv1\n+yRFuZz98YKM6+yrca4s01eDvBsUpanAQEJWI6HcLyUmpDFplMbpqqhUHpgQ/OfiLZihnWoNtodS\n6hbwsjQlTindWsuEIShKSVEk8wZ6z5JzyjJuTqZldUilZVpOZGqnX1VNEZhyXNlQHoEmPT3krk+0\nvNw2IAaEVENJkvynX0oabTOpT6NjH+K+bfnSxxmbKFxT5ZeR+hx2Y77fKVDQpsoX6lXpnU3WH6PU\n2MogtVInIN9c3JlEOZOWajAxisRKPgYolds0WkbtDZZqlUYlyHfYKRGTJeeZSj2h9p7yjFZaCh5a\nH3i6ElShoSUqUQAQBbp/i5VKhkXItXy7RaaM3+JdcXRqXTKlIkiiUupU5U5rMFRnOMLTNfpVN+z3\nH0MsOe1PB9louqLbinAnzj8r3L9h3B3KTn7l5ueXbRUubFDO1kQiMvtKWysFGi8YXSuU5hUXxKW1\nLHyNkh5N/PR1isbZ4eEshWEXMQUXCN3azQ8Nahw2YdGmQlyVNzm5e0kNBxtLC20JbWWhpU4hRWla\nwooWAFJSkG2C/hZmbMtVzb4nZXzVEokaflSVl0OO0NU9cKbIqcWXLelxzUFF9uJIaTGeixnEiRFD\nrseQ8+pAWOdSJ/8ASXSY+Q6Dhv2Hf6d+/wD0HgM+n+7Q3Op1IJt8uevBONOpTpGYcxxVX0pEZ9PX\nZQF7evvjex32+G8BErlfzoSEN6+g+nv2D+PHJGqNHsAbLWn134+V/wCuLrKixWqu4T7jlPivb8XS\nLE8fx4+G2FZgA4KiA7/qh0Ou3Yg9vy2G/wAOIGyUraSejoNvTUAbg9T0/ji9KQHYkt8fefpbiQRY\nk/qVKTvzft/W+ESCgposg/tmEo78++t70Hfxrfbz7cXnWg47NWOUpCh2Ow/p1tbC1TJqosDK8dSj\nd2QWiNx/3x2+BChc4Xj0nIJR9DAP8/8AD5633Dim2pSFBf7zZH8P44aZbTcxtTJ3DElpahYbFOog\n79Og+PyxgZPb5I4f6qAAGu4+BD9dCIh49A337Thz+4qb4KnTf6p9eL2+GAioKlZqbm2OhqA2lPYE\nJULXt6C3Yd7Y0NTiH1k5gDQG2Aj47bAfI+O/fWhHx8+JZTQK4qE/uAEDvsTb6dfrgdl+c4zBzBMd\nUbJkgpJ7JUtPPrx8h1wqTUAUSn8dYD58eoCIfkOuwBvXjim40UvrQP2bcfAEX+l9/TqcNkCamRSo\nclah7+pV77H9Yocn0AI+nbDjxXsex+hwT8xH5A/6MQM4AImEPQTbD5dQ+POv8j54lvY2PBO30H8f\nwO3GKxClIBB32F973t+Hbn0xmHgNeNBrj24vbrziLSSnUTc9efh+fTHXz6O1nUL7yi/SbYAlMzYK\nw9e83UzlUYY4c57yrAYlq067oeapi6WdFGenQWFRSOg2XWqRkxfHTcPY9JciCbsq5GWihp+m1+Eq\nXDivS2aclgzJCIzayzLW84Na7/dQm+wJuUg2vfGEeKq59Kz74M5rZy9mbMFMy5Uc7uVhvK9El12d\nFbqeXY9OhKVFjadIekOWSXHWgpLbykFSmyknPlVlLPyy485v+San88GCMO5/y03wDnTBHMFh7mUY\no4SsU7RZKxRt1wZY8/QzFlDU6x2emuSLNms0VvEkk26Me/d9T5DdmmKcp7NUpLVXiRZkn2KZDmxZ\n49kcW0pwPQ3JqAlLLjjR2DlkhQCSbkWXs+NQ851TIHiNO8N8zV/K9COassZlyrX8nunMcONUmoj1\nOzLFytIddkT4cOopKVORip8sqU62geUqyflwyJkyN5g+adrnPnHxBcudxDk9NT+UPmSvPMXUMl46\no+QJOdaztgp1W5hJgJChU/JTelSViiK7NnkEY+rWSQsDZhOFfOzqL+w35CJtREuqRnasKZ5dLnvz\nmn2Gn1LC3Gm5qtTLT/klaULKrNuKWEr1HeHM9Ko0jKuSHct+H9dg+HRz+J+f8n0vKk+k1apUpiMu\nNFnTsrRi1VKhR1VFmI/LjBpTsyI1FW7G8tsJTa2hZ+xpA8+X0OVpybzc4xy66xDyvZoqGfM5PsxI\n2+EiskLI5tZvWNtyJan5JBwo4lZVnFV2en1G6dyjjRE5XjvoSXinTgk1LjorGVnpFSjyTFp8tqZL\nVKDiEvlMxKg6+6rUTrWlLa1keaNKkXSpJKNUMtVeX4a/2g6bRsi1mhCu5yy9UMsZZay+qBKdpCXc\nvONuQqRCaLaEpjsrflRYwUae4H48oNSGH0J5T8qOQKLWuQz6VulWK41iCt2S6fylNseVeWm46Pnr\nw6rHMS7nrG3qkS5XSez60HCmLLS6UWi5PHxog8dFSQH4nACmSWWqPXm3HW0OvNU1LLalJS495U4r\ncDaSQpehB1K0g2TudsbFn2hVOf4k+D8yHTpkmn02bnp6qzGIzzsWm+15RRFiLnPoSpqKmVKSGGFP\nFAde/Vo1LBGOhnK1nfCdZ5mvoHbLYcu40hIHD3Kjlet5amZS7V1nG4ysEkGY0Y+Cv7xaRBCoTD48\njH/U4yeOxeuSSLBRFAyT1qdVggTIaJ2VyqTHQiLTZAkKLyAlhajJsh43/VqIWkgLsTqSbWIJxrOW\nWcyTMpeP7cah1iRKr+dqOujMM06Wt2sxm0UDzJFMQGiqew2phwLdjeYhKm3EqVqbWE86bveqQ7+i\nbxFjVpcKw6yHGfSF53vEjRUJ2MWtzCnS2H4uMibW9ribk0u1rknJdUfHTS7ROOevk1WrVyqukqQg\nORJaVl6EyHUF/wC15S1M6k+aGlRQgOFu+oNqOwURpKtgSTpxrlHy/UEeNGbJ7kCW3S1eHOXYkeor\njOpgrqDOYVyXITcooDC5bTOp12OlZdbbstaEoKSenXMBnfAOZucz6U3BKWfMS1ilc6XLnyzVnEmd\n5e2MFcMIZfwZUMVW2Arltv8AFqPYuu1+wSzGeq8nYljqsYSZjDMXyYvFEWyhp+XDl1mvwxLjhmqw\nYLcaVrSqOZENqO4ltx5BUlCFkONqVchCk2O+2Mpo+W8z5d8L/B3M6su1h2peHOa83Ta5l5MN1quC\nh5lqVZhPS4tOfS2/IfjNuRJbUYBLj8eQHmyGgVioX0i1Lisa8iP0TlFishUXKBK/VOdBJ/c8aSru\nfocnNOc8Vx1PtqnYXkbEjZ4GBnFn1cbWpmyTiLE4iXErDKKxbhoqcbXGEs0fLkZLzUgtiqBTrCit\nor9qHmBtZSnzENqu2HAAhZSVJukgh68Kas/VPE3xwrj9LqFFEw5AcRBqzKI1RaYOXVmK7MjtPPiK\n/LjIRMMNbhfjIkJakAPJcA4wl2Vyqr6GSL79wDXkR/D/AKa7Lp96O011Q8pI+dySO3PQfW+NwQfJ\nrdQnjZuRS2Vk7WulLZJvfn3TuL/HphSYRMVRXtsyXfXuADr8ewd/4dh4iR7qkN/uvDY+qh+e+Cbu\nlceRNRy9SVAKvudKFKF+vS/ztzfG5A4ikTx99LQAO99gHx7j5/L+PDydLyyL+478Byk+vS3126Ys\n094P0yAhR3dg6dupLZB9dvSx57YSrbA7EgAGiKDoPUdAAhv0HXcd+R3xcYVqROUTcrbF/wAbkDts\nNr9uMLFVilmTlRtFwlqcsqt/uqbVuPid743orAY7regBM4BrvoA0Pr379v8AHXpw6yQiKOdaD05I\n034+O5/pi9S6oFyMxFavdjSWkgngW80G3bcC4/nhWQwbKoGtiAa36h5D2EfPFRSTZSeiVG/e97fx\nH4/RkZcbdMd/q+w3Ynkgovyfjew22PO2ExyiVBYCB942+3ft94B7a/TyPb+FtDmqQ0VbBIHToEnn\nng9xfvhckU/yaDUmGwQp5aVHoTqeB7ep6et+MYKmMk3RIHkRAvfuPfYj/PWvb046aSlx99ZsRYn0\n4t8h1/jitPU9AolHit3ClOhBA+IUQfrf4j44d+s3v/AP8OKlkdz+flhh1u91fT/DEK3o5/bqH8hE\nR/h7/lxCtNxccj+H5/ngg2sJJQf2hex6/A9/yPTPjzcpChyPqenz+HxxIFAXSRe4/P8Alj0AAR0I\nFH/3gAe3rre+/wDD38cem33rEk2t1sem3r1PPbnHqSBcb3sLWJ6d99x36j5492GtdIdIgIHLoOkw\nDrYCXwIDruAhr33x0lJur1427fDbj629cVX3dIQu/CrG97i+wPfY/m+NhAAAMXpKJBAAAogAkEvY\nekS+BKGg0GtbAPbj1W6QOOQfh0t062+uI4t0uubn3vfBvuDwq3bc/H449AP6wB0A9XYd+oh4EffQ\ndgHvr9OOju0oHobjrb5HY3/l64hTdM9Dib2cQtCrcak7/wAbj44zIIG862U49x767CPn03rY6/Pf\ncOPFC1vUJP12PPzv87d8dRXQtL45U2pbavUBQtcG/T88YyEgdIgAB+9vWg0I73332Ht6/LjpKveu\nbbp0nptpt+fycQOMgx0p3u3IDqN+PeSrY323vjPQbEdBsdbH17b9db18t6+Xvze4A7X+h3/r+b4s\nFIQ9IcAsHEt355Cjud7X975c4MWEL1iXH9zfS2acDsuYekuq7JRJqG4yhdcPuWUm8XYKsrTEXKiI\nO5RCWiSNHLZBk+Yv4Z2hJuhes1FUmp0iVOdYjvNPSYqZbZ1N+X57sdSFEgh1LjXvakgEBKgpBCyS\nCbYRM7Qq1WaZU6ZRMwu5bnNJizvbE0mBWUyYzSFB2A9DqCkNhh9S0OKfZW3IbWy35bgCnAoic0nN\nE95j1cZxMNjeq4Vw/gvHh8a4Tw5TZawWKJo9WdzLqyTbmStdpWVsFwt9qnnJpS0WmUTarSblFtpm\nkZJZZ1YnT1TpkZsMtxosS8eLHaK1pbQpZcWpS1nW6464vW44oDVsALXKhGU8nM5TyzXp7tUm12vZ\njArdfrdQajsPzpjEZqJGZZiREJjwYECI0mPDiNFzy0FZLh1JSirJDdTX4nkfq49999gHy7a7CHje\n9D68UVAIllu/EgH0N/8AE/54bGl+dl1MwEa1UZzfgnywvb/08cgdL43tx6mie/JkhD+Ah6/yH+7i\nN8aZS7XsHAb/ABIP1/ni/SnPaKBFKgSpymuJPcnS4nv0P5tj1MwkM3J/uG7D7lD/AJd+OnAFCSv9\n1SP/AFEA2/r/ABxBCeVHdoEU3GqLIBB66ELI2NvTr8OmFAlA6iZvPQbsI+QHx/HXf/I8QoUUodHG\ntKR+JI+v59CchhMl+A5a4jyHFegJ0g9PTnjbfthtERSRkD9wEywAHce/cQ147B38/l24Kps47CR+\n6yTa1/2Un+Q9NucZ875kGn5rk7gvVJKEEbXBdWB+H8jheRbpM0J5MdMoiA/+569/l+P4+OKbjN0y\nli9kuKAI53UBt8B26W6Xw0Rqj5b2XIale+/EaUvp/wBxext6i/xtfCgBAwHANdh9R9R7++g7+O+v\n47rlJSWyeoNj6Abfn/IHkSG5CZjQsUtrQFcbXuq2/O6ev+WJyAcCb0Ou/wAvHnx29vTz8uPUKKC5\nbqLH4G5/PrjiYw3KRCuPdZcKx24A4+X4C/bDroPYP0DiDF7QO5/D+mIKIfeP7iI6/wDMIh+mxD8P\n5+A3+pH0OO3RpUlQv8R6W2H53/h74KHy1v8Av/yHffHuOXlLQEr5AsTbY268duf4b8e7Dt8/HHoF\n7+gvb06/THK3SlxCibJXt6A22O/4/HuBjIA322Pgda/kHtx+FxZXr3/j8fz61lkrU8yTyCpPz+fQ\n27Y2l30hvz6/kPH48m3F9vhi1FN20qOxCVJPO2ki/wDI9euPijsRAfQREB/XXf39Pw8cdKFkp7KS\nLj58/wBfS/fFWMsrecSbBTLygf8AhPB37gj/AAvt6QNGUD1EomDe/bWx/XXHSveQ0R0UEm/UA3t+\nem3GKjai1MqbdzpW0X0/8puO17gX+nGNxTAIFH3HW/n3/wAPy/LjlSbKWP3QT222/kf54sNyErYj\nLuLOnSe17f0H+Yx8c2imH+zof5D/AJ/TjpCPeb/3r/539Li+3TEUuRoYnKB3Y0m3/iQq/wCfwvjX\n5c632Ubj2+YefxDz50H5BxOABGP7yJA6dLWJ7cgfjgMpXm1xPVuZRjfixIBPw6fnpuNr4Z0gHyic\nADuHoOu/zDsI+w/nx+F/MQ6Bw8i/foPh2uOOMTP2ECRT+ppcgAf+Fwgb/wAsYogP1Uqeu/wjl18v\nvfmIefQR9fHHT28pS+nnNnt1G1/hybfjipTNsvtRD940+Y3pPPD1u3Pytt8cbGw9BEEvUSG7D29x\n0I6D1H38+B9/HhqU+50S4nj10/httviajueQxSYJBGuJJuL9Eqc4+Xf/ABxuOX+vb+xSqd/y1/ER\n/PjxBPkSSf3kD53+vFr/AF74llJ0VaiKGyW2ZgsL8BNvz1N8bEFAMmBv/EOX9BDQef8AO968jxy+\n3pc02P8Aq0n589emx57X2xLS5gfiB5SrXmvtg8f94kDr22/NsYLpgZA5Q/11CiIePJhH/p5Ht34m\njuEOtrN/daUO/wCyALD8/HA+swEuUyZHQLl+ey4Rze7yifgPxxqEpgfIa2JU0O/ffp7fw32DiYEG\nG93W727kG2xv6enfA1xpYzTS0i4bh01tVtrApaWN/pv3x42WH4TpUfHxNBvYh6h6/P8Az68evsgu\nx2+SEb29bXv8fp3OOKNU1og1+a4o29qSlJPoFpFj6374WFVAEUzCIgJwD22Ox8e+/wDOxHimps+a\n8kbhJN9r/dF/684ZmqglNNpzyyNT6UEepUspHp6+vph52HuH6hxUwd1nsPx/riBmH7x+++4gH4dW\n/wBO38ePwFzYdfz+fxOPzzoCAeiRfueg3A/O3PbMDAIb9w8b878aH5+g/wB4Dx+4x6HkrZHXbrue\nOD8P6bXwXsUcvmes9DNp4OwnlnMSla+z/wBoi4vx7ar19g/aguQiwlzVuLkCxp5EGTwWCbsySjor\nRyZEpyIKmLbiw5ksq9liyZIRYOeQw49oCr6dflpVp1WNr2vY2vY4Wq/mvK+XmYxzDmGiUEyy57H9\nsVSHTTJ9n0ed7OJbzRe8oONh0thQQXEBRGtNzMT6PTn4EQMXkl5sTaHpMJeX/KBukR190dVv94RE\nAKUe4iIaDuG7X2LWLEfZVR52/ub99r8/q7/T5bHdePir4Zh1lz/SDkoe6Qv/AN5qR1G/MvoQbn+e\nMi/R88+ggOuSjmtHQHNouAcmjoqfdQR1XN6T/wDWDrRO3XrfHgolYNr0qo2//ZyOP/LxKfFjwzQh\nWnxAyWdyQBmakblW4sDL3JPHNz8MYh9Hzz6dex5KOa7RiFMUf6AcmgBgHq0YojXNGKPQfpEOw9Cm\nh+6bUpotXLaR9l1C6T/8G/cjfpo6fH8cUWvFXw3RNdc/T/JnlutpUVfpLSdIWm1wT7VzYja97Adx\nfZ/6Prn06uoeSnmu2IGKP/3BZNDet9v/ANuB3DpNsA8dI7/dNrz7Fq4AAplRsFA2MORb5fq9sfj4\nqeGyni7+n2TPfYcaVfMtJ2ubjf2oHc336/HbAYytgLPOBRg2+cMK5Xw44sf15Suo5Px/aaIedTiz\ntU5Q0OFkjI8JL7OM+Zg+K0FU7P621MuQgOERN+kQJUZ7+8xn43mtKLYfaW1r021aCtIB07Xte1xe\nwIx+o+caBWqYVUGu0itfZtRaTKNLqUSf7OmQXPJ88RXXC0HghflFdgsoXoJ0KAEhj7M4L/uAIee/\nb2/APPFdCLCOrqHCkjvyL+lhfbBuXNK3a4zc2VDQ4na2+hPT4/jY264yTPv4J/X4QlH/AIfG/wBA\n9flrjxabB5Hd3UBfpsf577jb8PIz4K6VKVbUinlpR26oUD8wdvlj0VdO0yehkTeo/P0/AAHiRDX9\n2cURuHk7DtdJuDe43OK8moD7ehtAjQ9Tnwod/ddvt36Df+mPgVAq6SXbRkzdt996N+v8fb0Dj0sl\nbDrhG4cRv2sQPoNx19D0EAqHkVSDCBshcOR7vTcO3H8enIxkKvS6QANa+Gcd+fcd9/Hb+X5cepa1\nRnz3cb+dyLbfC/zt8ceuTvKrVJSkgITDlXtYAbLA4+P12txhSRyitpRJVNUpAEomTUIoUBEoGADC\nQxgAwlEDAAiGymKbQlEBGHyrJWkdVJvb678d9/SxwVcnBxcd43BaakAEixGq6TyN+CDbqDvfCRJf\n4aSIDrZ1h9/Uwf535D9NXnI4W86bE6GE9L2skg8dRvxbnrhRh1ZUWn09rUdT1VcP/hLyTx+bm25w\n4AuA9YdvuiA7/j4328eNh7jxUDBSEG33ge/Qj5fAC/4YZl1hDypLeoHy3G1EX4PvEdALfW/O2PPi\nFFUTgPcUwAPG+wD/AA767/z468shsI3sFlRv8f42H+A4xCZiDNclba1RUtA8cIVYbEWNz0237YQj\n91oYgeTnKIh8hHY79fbft+QcWwNUkKNyEoIHrt/Dc9/kcLK1KYoD0ZBOqTKbWrfc3Wb/AFHOxBuf\nXHqyoh9VTAewAG/mAeewD69xDf699ceNNAiSs/tEgfO/W19r/nrJUZ7iTQ4barBsIKx6JWL3+l/j\n8MP3xh+f6BxQ8g/vD6HDf9sD94fjiHmMGzj7GH5BvfgPw4q6LEWv6kn+lufpa+Djrw0WJ5AueABb\n8/H15HhRHpAPcOwgGw9vy9h7hv39vSkEg/X1xXQ/ZCgCdxxcAH8n59CBj9Nv0EYz05yp/SE0qiWt\nrAZFmci8n8tEsUbpD0ywSdWgLm7k74jEupa747TcJPahH2GHXZq3KsMZkXZq+7n40kmK5NLyEttp\nFVC1oSpTkMgFSUkgIeSSAoi4B5I6+u2PhT+1+xMqEvIC48STJQzEzG04tmO68hDipNMWlKy2haUr\nKU6wk7lIKrWG3aq/4b5iLghlZzFZpLDScxfeYCRxKd7zUPfqdRx/kFljVpjGtS8ZW8mwST0tPdxe\nSn7uMRkxWYR1oRi4C3IuCNn0boXns9Hmv/MR/wBWPjH7JqW3/s2b0H/YZG9t/wDY9L2PU23G9sSG\nk1jmqjsi0Gw3DJ8HN1iDmOVFslXXvMzETEOBcOwJKVlyw5Jblt8I6km1yj7tecjVheqDPys1kejY\nx/pUqtnjCvTtf3nsf7Zr/wAxH9cfvsqpf/LZt9z/ANikfK36na3G/F9iL7Rv+jbnCJks1ljeYWPZ\nV5DMz17Zox1zKRi0XkCsS+YqW+sl0iIlOyLp0+NVxYhFpVCgIox6ME9xxbYIIiNRyQo7sH7z2f8A\nbNf+Yj/qx++yqiRtTZx9fYpHNh2a5vyfUHe22hWl850qTGk1H5uJW3ERS8Q1q71ma5na0uaVdR1R\nwHWMlSRnULcZtgpNoWekXS8Q06m6O6nmT+dZyZW8jeZBgX957O13Whfu4j+uP32VUTe1Om/KFINh\nubf6kW6c8Wv0GON/0+7xyw5Wfou6PZp5rJZLp9TywzyCxWt8Jb7AlPoVzE8dKzEzIQ1+yWR2EzNt\nJFyhKnt8wWQMcxjOG7oF4xgiZ2W2s0rQ4hZCphISpKiAUsAE2OwJBF+9+1sfXP8AZYhy4rXiCqRF\nkR0ONZZDa3o7zKFrafq61JQXEIClJStKlJT7yUqCiACCfzDCb+tOO9AZIA/T/H2/LhASPcQN9nb8\n9/r+e2Psdb2qdJUSbPQkoO56BIv69h6epxkB+lLz3IQ39/v6a/z4Dj3yrug72UpPA67X9T+H4bcC\nWGoQBVu1HXbuLBX0+ex4xqBQDLIKb7AkYP1Ef8h29d8WAjSy8ji7ieevHPyvf19cCFSy5U6bJ1cQ\n3Qo9gQ5fr3P4+mMDqj9cRMGgAEzB7a7HH+Gh9fX8+O0IHsrqTvdxJHw27+tu/pitKmE1+A7clKYb\nt9+4d/G3ffnBnwJC0e0ZkoMNkWSRjau/lFETFextilImZnitXKtOqtiSqDd7a2NVuFtJCVq1TFbj\npKciK/KSL2KYqPU0V20sNlpTiWnjpQt5JNwtQUoD9WhYbBXocc0oWtAKkoUpSRfcDczVOczCfn0x\nBclR6e9pKHY7brDCl6ZkqOZRRFclw4ZfkxGZDjbD0hptt1YQVJVc7m/bWy1o5lmrmawW+Rxw+xo2\ngsyWjF0JjJOVss7aLBUrjj+sqwbJELFievRykC3pzqwy1llG4UNexxcmxgrUqyc36kytxclTiVOF\nlTOl9TKWbqUtTbjSC2BrYSko8vWVqBaKwUpWUlRyJUo0OPQmYamYaKkzVzIo8aqSKl5cZiOzKhVG\nSmQ4r2arSHUyDLEZqK0sTkx3WnH4iXEyTJXInRHsfL26jWqTxhVKlXGrpzD3avWWx3GPlnLfNSxS\nZtB3YmcPjQ4TeHHdIg7rQ3F5xdlte2UW343bsEJiSrUfbVTWymQttRaT5AGlaVqWFf3gfrwpQDVi\nwW0ONFxl/WhxqwUUBej58npcokKZHRUZCqo6oOw3o8eG42k0c3o5Qwp6oI8qqJmPRZ6YdSpQjTYd\nQLhaalONbH6P6IlZ2UpTDKEqk5q+V7rjey5BWxNZE0Hc1B2flporSHa011e02rSEjp3OjmbTuX26\nm5mYKAsyy0KVGIjxH00VKlMshw/q1OoW75SrEpXGb06C4AAC+VBWq6koUdNkg45b8U5DMepVBcBt\nQlMQZUaEKnHuhp2NmCWp0y0wypxxbVJbYMUM6Wnn49nSXV4ZXn0ekzDUpnbLHllnDOjYddZkdQhc\nW3aXcOq39WqSbBxVDRLxzI2uPQn7UrXbk9CFhntG/ZuXsktDr1SQrkvK1lUUpaU4p4J/Vl7T5Liv\ndOi2jSSVgKUULIQktlKllJQUqUcb8VEPT0Q2KYp5Pt6KSHjVITQDwEnzPaA8hDcdwsx0yIiPNeTN\nElqO06iU2+y1T3PWNWGFsq27FjS1ObitSnTOKmJtepO6YQ88Zig8k2TCIezc84cxjH60gmynDPUk\n5ohju27Js3BIy9KRF9nfW0lRWUAJUoo8saiAVAJKlGw2AVeyuQAMNVFzIa3R489yOiGmSsvNMCWi\nZZlCylpa3kMsJS45pJWxoPk2AUtSr6Q+ZUBMQRHuAaAfbff8Pf5D6b1xCGyEqABsTuO/T8Px77YJ\nuTkreYdJ3bTZNzwSb7d7bdNrYcPih7k/h/8ALxx5H/F/zf44s/a//wBT8P8ADDIcdmNvf7w/l3Ht\nwECTcfj226X/AA+Pwxpzj2pNr9j87G3x73P03x56dh0Htv5f3/8AXjooF9jYdvz/AI4rpfGk3uCO\nQDsdv5jnb+WNJkkFTD8VBBYS7AorIpqiUDAG+j4hTdO9B1AUQAdBveg13a9tr224vyTiol9Ta3Sl\nZSHPesFFIJHPG199iSetucYg3Z9P/wCiZiId+zRv27eP/wAvyAdvQRD24k8oFQsAAbcgf06/Priq\nJ7vkOfrFkoUf21X5va+r8CBvta3GQt2eyj9TZaENaBo3+f8A4Xn+fbv449S0NKgQNj2HH8uP44ru\nTXA8yoOLstCkkFaubXt97e/4/DHhWzIA7MWIdx0Is23bv7Al7/z18uOyhKiBpSTYcgfu37YiRKW0\n2r9Y5bzFEfrF8Fe21+gPccfHGsG7Mvxf9CZ9hAQH6o3ENiADvXw/cd/3cTeWD5ew432Hc+m4Ft74\nHmY42mYfMXYqKr61g7gH97Ynjjn53UEIiQB+Eggj1gHUKKKaQnAv7vV8MpOoCiI66t9PUOu4jvwN\nhJuOm2wA7825/PTYeOyy43YrKvMTcAqKugHUm2/bn8cZioACA7761/1147+/8PTtKDbZPrv/ABF+\nwxWXJ9/Xcfd0fK/X+VwOeMazq7KoG+3wxHt7a/x7D/HXbVhtvdCiOVgfQjt063/pgbLmjypLYN7R\nlHnbcEf5bjtjAqmkSm33BMB3/D2+fgeJi3d1SbbFwW+I67nvtbjf0wNTKCIbDpPvNxVWN+Dv/Em2\n4/E41irsQUH0SH+/uG/G97D8vXiRLViUW5cHzO56X527nfFJ2ZdCJZO6Iit/Q6vpsRthzh5p7ByE\nVORwtgkId8ylmIvo+Ol2QPY50k9ai7iJlpIQ8o0BdBP6xGyrB7Gv0etq/ZuWiqyKnQbKXwQPuuJO\n6UkXSb7pUCki43BBB4IN94Vy0yKYtDhUUvQXm1aHFtLKHULSrS40tDjaiCqy2nEOINlIUFAEGe98\nzWWcm1tao291jxWFeOGT9clcwPgGgyn1iOcfWWnwLHj3F9VsrRD4wB9YZtJduxfpADd+3ctg+Fxb\nfceeS4F+UU+Yk+6xHQRYgj322kL2O1goA8G4thepUCm0t6E9G9uS+Irou/Wq1Ma0rSpKrxplRkRi\nbEhKiyVtq95BSo3wMWV4sMdTrFj9m9bpVG2TdTslgixioddR9N0RCca1B8SUXYKzDAYNtZp9Bq3j\nZBmzVSlXRHbdzpD4MKErS240D7jim1LTpAuWwsINzuNOtWwIHvG4wSkLjvT4U9YUqTCamMsOF1wB\nDcxTBkoLYWGl+cqO0pSloWu7aSFDe8BVBMW4kFNISqqiUwCUuhT6TlEgaDYF6DnKABoCgc4F0Bzb\nIttgug2FkM9u4Fuu25N7d979VaRKWiCpKVq1SagFGxN+Sb9OpG57b7gYK18zbkbJcbW63dJ5KUgq\nazjE4WPQhoSIbg6hahBUKMl5MkPHsSy880pFbgKoSbfFVkFYaKboOFlXCr107/OJW7GaSs3u4kJG\nlI+6kNpUQkC6vLShOo7lKd733hhLh06sS3ojRaV7K8XVl5103fdcluNoU4tZaZXLfekFlBDYddUU\ngJCUpF5HnS3E2gKAnECgHbQbDsABoCh33oNevjzxyYg84JA4Qm9h3HwO9rbW2F7dBi63XVCnuPKW\nSXJC9JJJ2skA78nt/mcbxd6MmX+0AD8h2HqI9/X+/wDGERtlm2wJ+e5442vxe/pi8ushK4qCsBSk\nouNt/dubb7c/jhz+s/P/AD/w8R+Sr82/rif7WH+0P1ONZgVExh6fJh8iX0EfQB9f8/JTCSfh3/O+\nPoBb9+FHjewte4+X5+Ax90qD/q67e4b8DvXft37B7ee/p+0m4B69PT+Hf6fC8C3kpB3JNr9bG3f6\nYxAqvfRQ9vIdh9fXv+e+JtOnpa4v8sUw/quSetuP4fm3bH3QcAMHT217l7DrQ+v+fz4kCSQk9R/C\n9x+f6YpLcF3Ugmygbj1t1+f53x4BTiBQ14Nrew323+XcPy9Ncd6d1evI/A/W+Kheulk9Unbm3Hz4\n/wAsYqAYAEOkd7Dv1BvXb8Q2PbevPgeJEIuRttY9t7dPS2+K0mTpbVYm4UD1tuoG+3y5xgYqnQcw\nhre/UB8AHz9PIcSITZSepH9Sf64pyZA8p0dVp3NttgBbgHp+NseAB9kDQ/u+4fx7/j+vp4GQN7Ls\nOCOvX+pFvnioZdixufebPf024436327YxN167FHYG15Dxsf972Dx3DiRLfvDsU9QD8/z3xTem2Qo\n3OzgG3/ER2B6d+x3ONQ9YmU7dujv3D+8R9w+e9Dv04nS1ZCNv2z1HPS31+mBz0kl6QOhYSm2/X5d\nev8AK2PDAcERAC7ACe5Q9QD3+f4a9N8Spbu6lXdzYfX+Y/POKUqVoguI3uGNItfb+e5v1698ajCb\n4Hgdin27h/Pfb+Xn8pktkv8AA/1hNjbkfh0t+O/Ua/LtTSi5v7KE335JF/X5349cfEE4JFLoddHj\nqDXoIf5/kPHSm/fUbAgrv2sL/n8jEDc20ZtkEn9RpPPUWHPoca9nBXsUfupD6l9/x86HXt+W+Jw1\n+rNx/wB4O3Hr8wL7fC+B7k3RJSRchEMgc9Sbdem3Tv8ADHwHPoPuj3Ae2w0G/wAxEd/9fTXQZNyB\nYWNrjrvYdsQiolSGzc7pUTyN9z/TjCcwmECh0iIAYR8l89h9/wC7iwhsgrI5Kd/699r/ANMDHpSV\nBgb2S6Vbgnext8eb3/phOb4gfHN09zAIAOw8CAdvPqH5b9OJkt3DSdrJIJ/j15wNcl2VUXRfUtBR\n12FtPy+XptjSb4gJok6ddRgEe4a8APjf/PiVLYDjiv8AdsPlfn6fDFJySRFhMAm3mFagL9bE8/Ej\nnrjITK/WA2A6IUB1svsHrsR8/n3HWvTkNANEW3USfxO3x2+u/U4lXPUuotkE6WW0ADf90dB3va/b\nphy+Op7fwL/jxx5Kfzf+uLH2p/xfT/HH/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image \n",
    "Image('../../../python_for_probability_statistics_and_machine_learning.jpg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[Python for Probability, Statistics, and Machine Learning](https://www.springer.com/fr/book/9783319307152)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "%pylab  inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Worked Examples of Conditional Expectation and Mean Square Error Optimization\n",
    "\n",
    "Brzezniak [[brzezniak1999basic]](#brzezniak1999basic) is a great book because it approaches\n",
    "conditional expectation through a sequence of exercises, which is what we are\n",
    "trying to do here. The main difference is that Brzezniak takes a more abstract\n",
    "measure-theoretic approach to the same problems. Note that you *do* need to\n",
    "grasp  measure theory for advanced areas in  probability, but for what we have\n",
    "covered so far, working the same problems in his text using our methods is\n",
    "illuminating. It always helps to have more than one way to solve *any* problem.\n",
    "I urge you to get a copy of his book or at least look at some pages on Google\n",
    "Books. I have numbered the examples corresponding to the book and tried to\n",
    "follow its notation.  \n",
    "\n",
    "## Example\n",
    "\n",
    "This is Example 2.1 from Brzezniak.  Three coins, 10p, 20p and 50p are tossed.\n",
    "The values of those coins that land heads up are totaled. What is the expected\n",
    "total given that two coins have landed heads up?  In this case we have\n",
    "we want to compute $\\mathbb{E}(\\xi|\\eta)$ where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\xi := 10 X_{10} + 20 X_{20} +50 X_{50}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $X_i \\in \\{0,1\\} $ and where $X_{10}$ is the\n",
    "Bernoulli-distributed random variable corresponding to the 10p coin (and so\n",
    "on). Thus, $\\xi$ represents the total value of the heads-up coins. The $\\eta$\n",
    "represents the condition that only two of the three coins are heads-up,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\eta := X_{10} X_{20} (1-X_{50})+ (1-X_{10}) X_{20} X_{50}+ X_{10} (1-X_{20}) X_{50}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and is a function that is non-zero *only* when two of the three coins lands\n",
    "heads-up. Each triple term catches each of these three possibilities. For example,\n",
    "the first term equals one when the 10p and 20p are heads up  and the 50p is\n",
    "heads down. The  the remaining terms are zero.\n",
    "\n",
    "To compute the conditional expectation, we want to find a function $h$ of\n",
    "$\\eta$ that minimizes the mean-squared-error (MSE),"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mbox{MSE}= \\sum_{X\\in\\{0,1\\}^3} \\frac{1}{2^3} (\\xi-h(\\eta))^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where the sum is taken over all possible triples of outcomes for \n",
    "$\\{X_{10},X_{20} ,X_{50}\\}$ because each\n",
    "of the three coins has a $\\frac{1}{2}$ chance of coming up heads.\n",
    "\n",
    "Now, the question boils down to how can we characterize the function $h(\\eta)$?\n",
    "Note that $\\eta \\mapsto \\{0,1\\}$ so $h$ takes on only two values.  So, the\n",
    "orthogonal inner product condition is the following:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\langle \\xi -h(\\eta), \\eta \\rangle = 0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " But, because are only interested in $\\eta=1$, this simplifies to"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\langle \\xi -h(1), 1 \\rangle &= 0  \\\\\\\n",
    "\\langle \\xi,1  \\rangle &=\\langle h(1),1  \\rangle  \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This doesn't look so hard to evaluate but we have to compute the\n",
    "integral over the set where $\\eta=1$. In other words, we need the set of\n",
    "triples $\\{X_{10},X_{20},X_{50}\\}$ where $\\eta=1$. That is, we can\n",
    "compute"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\int_{\\{\\eta=1\\}} \\xi dX = h(1)  \\int_{\\{\\eta=1\\}} dX\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  which is what Brzezniak does. Instead, we can define\n",
    "$h(\\eta)=\\alpha \\eta$ and then find $\\alpha$. Re-writing the\n",
    "orthogonal condition gives"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\langle \\xi -\\eta, \\alpha\\eta \\rangle &= 0  \\\\\\\n",
    "\\langle \\xi, \\eta \\rangle &= \\alpha \\langle \\eta,\\eta \\rangle  \\\\\\\n",
    "\\alpha &= \\frac{\\langle \\xi, \\eta \\rangle}{\\langle \\eta,\\eta \\rangle} \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\langle \\xi, \\eta \\rangle =\\sum_{X\\in\\{0,1\\}^3} \\frac{1}{2^3}(\\xi\\eta)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that we can just sweep over all triples\n",
    "$\\{X_{10},X_{20},X_{50}\\}$ because the definition of $h(\\eta)$ zeros out when\n",
    "$\\eta=0$ anyway.  All we have to do is plug everything in and solve. This\n",
    "tedious job is perfect for Sympy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "160/3\n"
     ]
    }
   ],
   "source": [
    "import sympy as S\n",
    "X10,X20,X50 = S.symbols('X10,X20,X50',real=True)\n",
    "xi  = 10*X10+20*X20+50*X50 \n",
    "eta = X10*X20*(1-X50)+X10*(1-X20)*(X50)+(1-X10)*X20*(X50)\n",
    "num=S.summation(xi*eta,(X10,0,1),(X20,0,1),(X50,0,1))\n",
    "den=S.summation(eta*eta,(X10,0,1),(X20,0,1),(X50,0,1))\n",
    "alpha=num/den\n",
    "print alpha # alpha=160/3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  This means that"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\xi|\\eta) = \\frac{160}{3} \\eta\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which we can check with a quick simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    ">>> import pandas as pd\n",
    ">>> d = pd.DataFrame(columns=['X10','X20','X50'])\n",
    ">>> d.X10 = np.random.randint(0,2,1000)\n",
    ">>> d.X10 = np.random.randint(0,2,1000)\n",
    ">>> d.X20 = np.random.randint(0,2,1000)\n",
    ">>> d.X50 = np.random.randint(0,2,1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The code above creates an empty Pandas data frame with the named columns.\n",
    "The next four lines assigns values to each of the columns.\n",
    "\n",
    "\n",
    "\n",
    " The code above simulates flipping the three coins 1000\n",
    "times. Each column of the dataframe is either `0` or `1`\n",
    "corresponding to heads-down or heads-up, respectively. The\n",
    "condition is that two of the three coins have landed heads-up.\n",
    "Next, we can group the columns according to their sums. Note that\n",
    "the sum can only be in $\\{0,1,2,3\\}$ corresponding to `0`\n",
    "heads-up, `1` heads-up, and so on."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    ">>> grp=d.groupby(d.eval('X10+X20+X50'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The `eval` function of the Pandas data frame takes the named\n",
    "columns and evaluates the given formula. At the time of this\n",
    "writing, only simple formulas involving primitive operations are\n",
    "possible.\n",
    "\n",
    "\n",
    "\n",
    " Next, we can get the `2` group, which corresponds to\n",
    "exactly two coins having landed heads up and then evaluate\n",
    "the sum of the values of the coins. Finally, we can take the mean \n",
    "of these sums."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "52.72"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> grp.get_group(2).eval('10*X10+20*X20+50*X50').mean()\n",
    "52.719999999999999"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The result is close to `160/3=53.33` which supports\n",
    "the analytic result. The following code shows that we\n",
    "can accomplish the same simulation using pure Numpy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "54.3817204301\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "52.69899841855561"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> import numpy as np\n",
    ">>> from numpy import array\n",
    ">>> x=np.random.randint(0,2,(3,1000))\n",
    ">>> print np.dot(x[:,x.sum(axis=0)==2].T,array([10,20,50])).mean()\n",
    "52.698998418555611"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In this case, we used the Numpy dot product to compute\n",
    "the value of the heads-up coins. The `sum(axis=0)==2` part selects\n",
    "the columns that correspond to two heads-up coins. \n",
    "\n",
    "Still another way to get at the same problem is to forego the\n",
    "random sampling part and just consider all possibilities\n",
    "exhaustively using the `itertools` module in Python's standard\n",
    "library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0, 0, 0),\n",
       " (0, 0, 1),\n",
       " (0, 1, 0),\n",
       " (0, 1, 1),\n",
       " (1, 0, 0),\n",
       " (1, 0, 1),\n",
       " (1, 1, 0),\n",
       " (1, 1, 1)]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> import itertools as it\n",
    ">>> list(it.product((0,1),(0,1),(0,1)))\n",
    "[(0, 0, 0),\n",
    " (0, 0, 1),\n",
    " (0, 1, 0),\n",
    " (0, 1, 1),\n",
    " (1, 0, 0),\n",
    " (1, 0, 1),\n",
    " (1, 1, 0),\n",
    " (1, 1, 1)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that we need to call `list` above in order to trigger the\n",
    "iteration in `it.product`. This is because the `itertools` module is\n",
    "generator-based so does not actually *do* the iteration until it is iterated\n",
    "over (by `list` in this case).   This shows all possible triples\n",
    "$(X_{10},X_{20},X_{50})$ where `0` and `1` indicate heads-down and heads-up,\n",
    "respectively. The next step is to filter out the cases that correspond to two\n",
    "heads-up coins."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(0, 1, 1), (1, 0, 1), (1, 1, 0)]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> list(it.ifilter(lambda i:sum(i)==2,it.product((0,1),(0,1),(0,1))))\n",
    "[(0, 1, 1), (1, 0, 1), (1, 1, 0)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Next, we need to compute the sum of the coins and combine\n",
    "the prior code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[70, 60, 30]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> map(lambda k:10*k[0]+20*k[1]+50*k[2],\n",
    "...                   it.ifilter(lambda i:sum(i)==2,\n",
    "...                              it.product((0,1),(0,1),(0,1))))\n",
    "[70, 60, 30]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The mean of the output is `53.33`, which is yet another way to get\n",
    "the same result. For this example, we demonstrated the full spectrum of\n",
    "approaches made possible using Sympy, Numpy, and Pandas. It is always valuable\n",
    "to have multiple ways of approaching the same problem and cross-checking\n",
    "the result. \n",
    "\n",
    "## Example\n",
    "\n",
    "This is Example 2.2 from Brzezniak. Three coins, 10p, 20p and 50p are tossed as\n",
    "before. What is the conditional expectation of the total amount shown by the\n",
    "three coins given the total amount shown by the 10p and 20p coins only?  For\n",
    "this problem,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\xi := & 10 X_{10} + 20 X_{20} +50 X_{50}  \\\\\\\n",
    "\\eta :=& 30 X_{10} X_{20} + 20 (1-X_{10}) X_{20} + 10 X_{10} (1-X_{20}) \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which takes on four values $\\eta \\mapsto \\{0,10,20,30\\}$ and only\n",
    "considers the 10p and 20p coins.  In contrast to the last problem, here we are\n",
    "interested in $h(\\eta)$ for all of the values of $\\eta$. Naturally, there are\n",
    "only four values for $h(\\eta)$ corresponding to each of these four values.\n",
    "Let's first consider $\\eta=10$. The orthogonal condition is then"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\langle\\xi-h(10),10\\rangle = 0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The domain for $\\eta=10$ is $\\{X_{10}=1,X_{20}=0,X_{50}\\}$ which we\n",
    "can integrate out of the expectation below,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\mathbb{E}_{\\{X_{10}=1,X_{20}=0,X_{50}\\}}(\\xi-h(10)) 10  &=0 \\\\\\ \n",
    "\\mathbb{E}_{\\{X_{50}\\}}(10-h(10)+50 X_{50}) &=0  \\\\\\\n",
    "10-h(10) + 25 &=0 \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which gives $h(10)=35$. Repeating the same process for $\\eta \\in\n",
    "\\{20,30\\}$ gives $h(20)=45$ and $h(30)=55$, respectively.  This is the approach\n",
    "Brzezniak takes. On the other hand, we can just look at affine functions,\n",
    "$h(\\eta) = a \\eta + b $ and use brute-force calculus."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{b: 32, a: 64/3}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{b: 25, a: 1}"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> from sympy.abc import a,b\n",
    ">>> h = a*eta + b\n",
    ">>> eta = X10*X20*30 + X10*(1-X20)*(10)+ (1-X10)*X20*(20)\n",
    ">>> MSE=S.summation((xi-h)**2*S.Rational(1,8),(X10,0,1),\n",
    "...                 (X20,0,1),\n",
    "...                 (X50,0,1))\n",
    ">>> sol=S.solve([S.diff(MSE,a),S.diff(MSE,b)],(a,b))\n",
    ">>> print sol\n",
    "{b: 25, a: 1}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The `Rational` function from Sympy code expresses a rational number that Sympy\n",
    "is able to manipulate as such. This is different that specifying a fraction\n",
    "like `1/8.`, which Python would automatically compute as a floating point\n",
    "number (i.e., `0.125`). The advantage of using `Rational` is that Sympy can\n",
    "later produce rational numbers as output, which are sometimes easier to make\n",
    "sense of.\n",
    "\n",
    "\n",
    "\n",
    "  This means that"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto1\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(\\xi|\\eta) = 25+\\eta\n",
    "\\label{_auto1} \\tag{1}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  since $\\eta$ takes on only four values, $\\{0,10,20,30\\}$, we can\n",
    "write this out explicitly as"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex21sol\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(\\xi|\\eta) =\n",
    "\\begin{cases} \n",
    "25 & \\text{for}\\: \\eta=0  \\\\\\\n",
    "35 & \\text{for}\\: \\eta=10 \\\\\\\n",
    "45 & \\text{for}\\: \\eta=20 \\\\\\\n",
    "55 & \\text{for}\\: \\eta=30 \n",
    "\\end{cases}\n",
    "\\end{equation}\n",
    "\\label{eq:ex21sol} \\tag{2}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Alternatively, we can use orthogonal inner products to write out\n",
    "the following conditions:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex22a\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\label{eq:ex22a} \\tag{3}\n",
    "\\langle \\xi-h(\\eta), \\eta \\rangle = 0\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex22b\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\label{eq:ex22b} \\tag{4}\n",
    "\\langle \\xi-h(\\eta),1\\rangle = 0\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Writing these out and solving for $a$ and  $b$ is tedious and\n",
    "a perfect job for Sympy. Starting with Equation ref{eq:ex22a},"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "30*X10**2*X20*X50*a - 10*X10**2*X20*a - 10*X10**2*X50*a + 100*X10**2 + 60*X10*X20**2*X50*a - 20*X10*X20**2*a - 30*X10*X20*X50*a + 400*X10*X20 + 500*X10*X50 - 10*X10*b - 20*X20**2*X50*a + 400*X20**2 + 1000*X20*X50 - 20*X20*b\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "-10*X10*b - 400*X20**2*a + 400*X20**2 + 1000*X20*X50 - 20*X20*b"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> expr = expr=S.expand((xi-h)*eta)\n",
    ">>> print expr\n",
    "-100*X10**2*a + 100*X10**2 - 400*X10*X20*a + 400*X10*X20 + 500*X10*X50 \n",
    "- 10*X10*b - 400*X20**2*a + 400*X20**2 + 1000*X20*X50 - 20*X20*b"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and then because $\\mathbb{E}(X_i^2)=1/2=\\mathbb{E}(X_i)$, we make the\n",
    "following substitutions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-350.0*a - 15.0*b + 725.0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> expr.xreplace({X10**2:0.5, X20**2:0.5,X10:0.5,X20:0.5,X50:0.5})\n",
    "-350.0*a - 15.0*b + 725.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can do this for the other orthogonal inner product in Equation\n",
    "ref{eq:ex22b} as follows,\n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "Because Sympy symbols are hashable, they can be used as keys in Python\n",
    "dictionaries as in the `xreplace` function above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-0.375*a - b + 40.0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "-15.0*a - b + 40.0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> print S.expand((xi-h)*1).xreplace({X10**2:0.5, \n",
    "...                                    X20**2:0.5,\n",
    "...                                    X10:0.5,\n",
    "...                                    X20:0.5,\n",
    "...                                    X50:0.5})\n",
    "-15.0*a - b + 40.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Then, combining this result with the previous one and solving \n",
    "for `a` and `b` gives,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{b: 25.0000000000000, a: 1.00000000000000}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{b: 25.0, a: 1.0}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> print S.solve([-350.0*a-15.0*b+725.0,-15.0*a-b+40.0])\n",
    "{b: 25.0000000000000, a: 1.00000000000000}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which again gives us the final solution,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\xi|\\eta) = 25+ \\eta\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  The following is a quick simulation to demonstrate this. We can\n",
    "build on the Pandas dataframe we used for the last example and create\n",
    "a new column for the sum of the 10p and 20p coins, as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    ">>> d['sm'] = d.eval('X10*10+X20*20')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can group this by the values of this sum,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>X10</th>\n",
       "      <th>X20</th>\n",
       "      <th>X50</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sm</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.464730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.533597</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.509960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.498039</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    X10  X20       X50\n",
       "sm                    \n",
       "0     0    0  0.464730\n",
       "10    1    0  0.533597\n",
       "20    0    1  0.509960\n",
       "30    1    1  0.498039"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> d.groupby('sm').mean()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " But we want the expectation of the value of the coins"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sm\n",
       "0     23.236515\n",
       "10    36.679842\n",
       "20    45.498008\n",
       "30    54.901961\n",
       "dtype: float64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> d.groupby('sm').mean().eval('10*X10+20*X20+50*X50')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which is very close to our analytical result in Equation ref{eq:ex21sol}.\n",
    "\n",
    "## Example\n",
    "\n",
    "This is Example 2.3 paraphrased from Brzezniak. Given $X$ uniformly distributed\n",
    "on $[0,1]$, find $\\mathbb{E}(\\xi|\\eta)$ where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\xi(x) = 2 x^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\eta(x) =  \n",
    "\\begin{cases} \n",
    "1 & \\mbox{if } x \\in [0,1/3]  \\\\\\\n",
    "2 & \\mbox{if } x \\in (1/3,2/3)  \\\\\\\n",
    "0 & \\mbox{if } x \\in (2/3,1]\n",
    "\\end{cases}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that this problem is different from the previous two because the\n",
    "sets that characterize $\\eta$ are intervals instead of discrete points.\n",
    "Nonetheless, we will eventually have three values for $h(\\eta)$ because $\\eta\n",
    "\\mapsto \\{0,1,2\\}$. For $\\eta=1$, we have the orthogonal conditions,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\langle \\xi-h(1),1\\rangle = 0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which boils down to"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}_{\\{x \\in [0,1/3]\\}}(\\xi-h(1))=0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\int_0^{\\frac{1}{3}}(2 x^2-h(1))dx = 0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and then by solving this for $h(1)$ gives $h(1)=2/24$. This is the way\n",
    "Brzezniak works this problem. Alternatively, we can use $h(\\eta) =  a + b\\eta\n",
    "+ c\\eta^2$ and brute force calculus.  Note the the `Piecewise` object in\n",
    "`sympy` is not complete at this point in its development, so we'll have to be\n",
    "exceptionally verbose in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "x,c,b,a=S.symbols('x,c,b,a')\n",
    "xi = 2*x**2\n",
    "\n",
    "eta=S.Piecewise((1,S.And(S.Gt(x,0),\n",
    "                         S.Lt(x,S.Rational(1,3)))),  #  0 < x < 1/3\n",
    "                (2,S.And(S.Gt(x,S.Rational(1,3)),\n",
    "                         S.Lt(x,S.Rational(2,3)))), # 1/3 < x < 2/3,\n",
    "                (0,S.And(S.Gt(x,S.Rational(2,3)),\n",
    "                         S.Lt(x,1)))) # 1/3 < x < 2/3\n",
    "h = a + b*eta + c*eta**2 \n",
    "J=S.integrate((xi-h)**2,(x,0,1))\n",
    "sol=S.solve([S.diff(J,a), \n",
    "             S.diff(J,b),\n",
    "             S.diff(J,c),\n",
    "            ],\n",
    "            (a,b,c))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{c: 8/9, b: -20/9, a: 38/27}\n"
     ]
    }
   ],
   "source": [
    ">>> print sol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Piecewise((2/27, And(x < 1/3, x > 0)), (14/27, And(x < 2/3, x > 1/3)), (38/27, And(x < 1, x > 2/3)))\n"
     ]
    }
   ],
   "source": [
    ">>> print S.piecewise_fold(h.subs(sol))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "Piecewise((2/27,And(x<1/3,x>0)),\n",
    "          (14/27,And(x<2/3,x>1/3)),(38/27,And(x<1,x>2/3)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  Thus, collecting this result gives:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\xi|\\eta) = \\frac{38}{27} - \\frac{20}{9}\\eta + \\frac{8}{9} \\eta^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  which can be re-written as a piecewise function of x,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex23a\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(\\xi|\\eta(x)) =\\begin{cases} \\frac{2}{27} & \\text{for}\\: 0 < x < \\frac{1}{3} \\\\\\frac{14}{27} & \\text{for}\\: \\frac{1}{3} < x < \\frac{2}{3} \\\\\\frac{38}{27} & \\text{for}\\: \\frac{2}{3}<x < 1 \\end{cases} \n",
    "\\end{equation}\n",
    "\\label{eq:ex23a} \\tag{5}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, we can use the orthogonal inner product conditions directly by\n",
    "choosing $h(\\eta)=c+\\eta b +\\eta^2 a$,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex23b\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{align*}\n",
    "\\langle \\xi-h(\\eta),1\\rangle = 0 \\\\\\\n",
    "\\langle \\xi-h(\\eta),\\eta\\rangle = 0 \\\\\\\n",
    "\\langle \\xi-h(\\eta),\\eta^2\\rangle = 0 \n",
    "\\end{align*}\n",
    "\\label{eq:ex23b} \\tag{6}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and then solving for $a$,$b$, and $c$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    ">>> x,a,b,c,eta = S.symbols('x,a,b,c,eta',real=True)\n",
    ">>> xi  = 2*x**2\n",
    ">>> eta=S.Piecewise((1,S.And(S.Gt(x,0),\n",
    "...                      S.Lt(x,S.Rational(1,3)))),  #  0 < x < 1/3\n",
    "...             (2,S.And(S.Gt(x,S.Rational(1,3)),\n",
    "...                      S.Lt(x,S.Rational(2,3)))), # 1/3 < x < 2/3,\n",
    "...             (0,S.And(S.Gt(x,S.Rational(2,3)),\n",
    "...                      S.Lt(x,1)))) # 1/3 < x < 2/3\n",
    "\n",
    ">>> h = c+b*eta+a*eta**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Then, the orthogonal conditions become,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-17*a/3 - 3*b - 5*c/3 + 0.716049382716049"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> S.integrate((xi-h)*1,(x,0,1))\n",
    "-5*a/3 - b - c + 2/3\n",
    ">>> S.integrate((xi-h)*eta,(x,0,1))\n",
    "-3*a - 5*b/3 - c + 10/27\n",
    ">>> S.integrate((xi-h)*eta**2,(x,0,1))\n",
    "-17*a/3 - 3*b - 5*c/3 + 58/81"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Now, we just combine the three equations and solve\n",
    "for the parameters,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{a: 0.888888888888889, c: 1.40740740740741, b: -2.22222222222222}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{a: 0.888888888888889, c: 1.40740740740741, b: -2.22222222222222}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> eqs=[ -5*a/3 - b - c + 2/3,\n",
    "...   -3*a - 5*b/3 - c + 10/27,\n",
    "...   -17*a/3 - 3*b - 5*c/3 + 58/81]\n",
    ">>> sol=S.solve(eqs)\n",
    ">>> print sol\n",
    "{a: 0.888888888888889, c: 1.40740740740741, b: -2.22222222222222}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can assemble the final result by substituting in the solution,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Piecewise((0.0740740740740740, And(x < 1/3, x > 0)), (0.518518518518518, And(x < 2/3, x > 1/3)), (1.40740740740741, And(x < 1, x > 2/3)))\n"
     ]
    }
   ],
   "source": [
    ">>> print S.piecewise_fold(h.subs(sol))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "Piecewise((0.0740740740740740, And (x < 1/3, x > 0)),\n",
    "           (0.518518518518518, And (x < 2/3, x > 1/3)),\n",
    "            (1.40740740740741, And (x < 1, x > 2/3)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which is the same as our analytic result in Equation ref{eq:ex23a},\n",
    "just in decimal format.\n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "The definition of Sympy's piecewise function is verbose because of the way\n",
    "Python parses inequality statements. As of this writing, this has not been\n",
    "reconciled in Sympy, so we have to use the verbose declaration.\n",
    "\n",
    "\n",
    "\n",
    "To reinforce our result, let's do a quick simulation using Pandas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    ">>> d = pd.DataFrame(columns=['x','eta','xi'])\n",
    ">>> d.x = np.random.rand(1000)\n",
    ">>> d.xi = 2*d.x**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Now, we can use the `pd.cut` function to group the `x`\n",
    "values in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        (0.667, 1]\n",
       "1    (0.333, 0.667]\n",
       "2        (0, 0.333]\n",
       "3        (0, 0.333]\n",
       "4        (0, 0.333]\n",
       "Name: x, dtype: category\n",
       "Categories (3, object): [(0, 0.333] < (0.333, 0.667] < (0.667, 1]]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> pd.cut(d.x,[0,1/3,2/3,1]).head()"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "0        (0.667, 1]\n",
    "1        (0, 0.333]\n",
    "2        (0.667, 1]\n",
    "3    (0.333, 0.667]\n",
    "4    (0.333, 0.667]\n",
    "Name: x, dtype: category\n",
    "Categories (3, object): [(0, 0.333] < (0.333, 0.667] < (0.667, 1]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that the `head()` call above is only to limit the printout shown.\n",
    "The categories listed are each of the intervals for `eta` that we specified\n",
    "using the `[0,1/3,2/3,1]` list. Now that we know how to use `pd.cut`, we\n",
    "can just compute the mean on each group as shown below,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "x\n",
       "(0, 0.333]        0.076390\n",
       "(0.333, 0.667]    0.521691\n",
       "(0.667, 1]        1.410679\n",
       "Name: xi, dtype: float64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> d.groupby(pd.cut(d.x,[0,1/3,2/3,1])).mean()['xi']"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "(0, 0.333]        0.069240\n",
    "(0.333, 0.667]    0.520154\n",
    "(0.667, 1]        1.409747\n",
    "Name: xi, dtype: float64"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which is pretty close to our analytic result in Equation\n",
    "ref{eq:ex23a}. Alternatively, `sympy.stats` has some limited tools for the same\n",
    "calculation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.4074074074074074"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    ">>> from sympy.stats import E, Uniform\n",
    ">>> x=Uniform('x',0,1)\n",
    ">>> E(2*x**2,S.And(x < S.Rational(1,3), x > 0))\n",
    "2/27\n",
    ">>> E(2*x**2,S.And(x < S.Rational(2,3), x > S.Rational(1,3)))\n",
    "14/27\n",
    ">>> E(2*x**2,S.And(x < 1, x > S.Rational(2,3)))\n",
    "38/27"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which again gives the same result still another way.\n",
    "\n",
    "## Example\n",
    "\n",
    "This is Example 2.4 from Brzezniak. Find $\\mathbb{E}(\\xi|\\eta)$ for"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\xi(x) = 2 x^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:ex24\"></div>\n",
    "\n",
    "$$\n",
    "\\eta =\n",
    "\\begin{cases}2 & \\mbox{if } 0 \\le x < \\frac{1}{2} \\\\ x & \\mbox{if } \\frac{1}{2} < x \\le 1 \\end{cases} \n",
    "\n",
    "\\label{eq:ex24} \\tag{7}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Once again, $X$ is uniformly distributed on the unit interval. Note\n",
    "that $\\eta$ is no longer discrete for every domain. For the domain $0 <x <\n",
    "1/2$, $h(2)$ takes on only one value, say, $h_0$. For this domain, the\n",
    "orthogonal condition becomes,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}_{\\{\\eta=2\\}}((\\xi(x)-h_0)2)=0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which simplifies to,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\int_0^{1/2} 2 x^2-h_0 dx &= 0 \\\\\\\n",
    "\\int_0^{1/2} 2 x^2 dx &= \\int_0^{1/2} h_0 dx \\\\\\\n",
    "h_0 &= 2 \\int_0^{1/2} 2 x^2 dx \\\\\\\n",
    "h_0 &= \\frac{1}{6}\n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For the other domain where $\\{\\eta=x\\}$ in Equation ref{eq:ex24}, we again \n",
    "use the orthogonal condition,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\mathbb{E}_{\\{\\eta=x\\}}((\\xi(x)-h(x))x)&=0 \\\\\\\n",
    "\\int_{1/2}^1 (2x^2-h(x)) x dx &=0 \\\\\\\n",
    "h(x) &= 2x^2\n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Assembling the solution gives,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}(\\xi|\\eta(x)) =\\begin{cases} \\frac{1}{6} & \\text{for}\\: 0 \\le x < \\frac{1}{2} \\\\ 2 x^2 & \\text{for}\\: \\frac{1}{2} < x \\le 1 \\end{cases}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " although  this result is not explicitly written as a function of $\\eta$.  \n",
    "\n",
    "## Example\n",
    "\n",
    "This is Exercise 2.6 in Brzezniak. Find $\\mathbb{E}(\\xi|\\eta)$ where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\xi(x) = 2 x^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\eta(x) = 1 - \\lvert 2 x-1 \\rvert\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and $X$ is uniformly distributed in the unit interval. We\n",
    "can write this out as a piecewise function in the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\eta =\\begin{cases} 2 x & \\text{for}\\: 0 \\le x < \\frac{1}{2} \\\\ 2 -2x & \\text{for}\\: \\frac{1}{2} < x \\le 1 \\end{cases}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The discontinuity is at $x=1/2$. Let's start with the $\\{\\eta=2x\\}$ domain."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\mathbb{E}_{\\{\\eta=2x\\}}((2 x^2-h(2 x)) 2 x)& = 0 \\\\\\\n",
    "\\int_{0}^{1/2} (2x^2-h(2 x) ) 2 x dx &=0 \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We can make this explicitly a function of $\\eta$ by a change\n",
    "of variables ($\\eta=2x$) which gives"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\int_{0}^{1} (\\eta^2/2-h(\\eta))\\frac{\\eta}{2} d\\eta =0\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Thus, for this domain, $h(\\eta)=\\eta^2/2$. Note that due to the\n",
    "change of variables, $h(\\eta)$ is valid defined over $\\eta\\in[0,1]$.\n",
    "\n",
    "For the other domain where $\\{\\eta=2-2x\\}$, we have"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\mathbb{E}_{\\{\\eta=2-2x\\}}((2 x^2-h(2-2x)) (2-2x))& = 0 \\\\\\\n",
    "\\int_{1/2}^{1} (2 x^2-h(2-2x) ) (2-2x) dx &=0 \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Once again, a change of variables makes the $ \\eta$ dependency \n",
    "explicit using $\\eta=2-2x$ which gives"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\begin{align*}\n",
    "\\int_{0}^{1} ((2-\\eta)^2/2-h(\\eta) ) \\frac{\\eta}{2} d\\eta &=0 \\\\\\\n",
    "h(\\eta) &= (2-\\eta)^2/2 \n",
    "\\end{align*}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Once again, the change of variables means this solution is valid\n",
    "over $\\eta\\in[0,1]$. Thus, because both pieces are valid over the\n",
    "same domain ($\\eta\\in[0,1]$), we can just add them to get the final solution,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "h(\\eta) = \\eta^2-2\\eta+2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " A quick simulation can help bear this out."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>xi</th>\n",
       "      <th>eta</th>\n",
       "      <th>x</th>\n",
       "      <th>h</th>\n",
       "      <th>h1</th>\n",
       "      <th>h2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.346459</td>\n",
       "      <td>0.832416</td>\n",
       "      <td>0.416208</td>\n",
       "      <td>0.346459</td>\n",
       "      <td>0.346459</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.432610</td>\n",
       "      <td>0.930172</td>\n",
       "      <td>0.465086</td>\n",
       "      <td>0.432610</td>\n",
       "      <td>0.432610</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.001143</td>\n",
       "      <td>0.047811</td>\n",
       "      <td>0.023905</td>\n",
       "      <td>0.001143</td>\n",
       "      <td>0.001143</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.096686</td>\n",
       "      <td>0.439741</td>\n",
       "      <td>0.219870</td>\n",
       "      <td>0.096686</td>\n",
       "      <td>0.096686</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.679429</td>\n",
       "      <td>0.167281</td>\n",
       "      <td>0.916359</td>\n",
       "      <td>1.679429</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.679429</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         xi       eta         x         h        h1        h2\n",
       "0  0.346459  0.832416  0.416208  0.346459  0.346459  0.000000\n",
       "1  0.432610  0.930172  0.465086  0.432610  0.432610  0.000000\n",
       "2  0.001143  0.047811  0.023905  0.001143  0.001143  0.000000\n",
       "3  0.096686  0.439741  0.219870  0.096686  0.096686  0.000000\n",
       "4  1.679429  0.167281  0.916359  1.679429  0.000000  1.679429"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pandas import DataFrame\n",
    "import numpy as np\n",
    "d = DataFrame(columns=['xi','eta','x','h','h1','h2'])\n",
    "# 100 random samples\n",
    "d.x = np.random.rand(100)\n",
    "d.xi = d.eval('2*x**2')\n",
    "d.eta =1-abs(2*d.x-1)\n",
    "d.h1=d[(d.x<0.5)].eval('eta**2/2')\n",
    "d.h2=d[(d.x>=0.5)].eval('(2-eta)**2/2')\n",
    "d.fillna(0,inplace=True)\n",
    "d.h = d.h1+d.h2\n",
    "d.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that we have to be careful where we apply the individual\n",
    "solutions using the slice `(d.x<0.5)` index. The `fillna` part ensures that the\n",
    "default `NaN` that fills out the empty row-etries is replaced with zero before\n",
    "combining the individual solutions. Otherwise, the `NaN` values would circulate\n",
    "through the rest of the computation. The following is the\n",
    "essential code that draws [Figure](#fig:Conditional_expectation_MSE_005)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0xe5b1828>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nFBERCcX/B6uMk0yDRj6/AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe47e208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.pyplot import subplots\n",
    "fig,ax=subplots()\n",
    "ax.plot(d.xi,d.eta,'.',alpha=.3,label='$\\eta$')\n",
    "ax.plot(d.xi,d.h,'k.',label='$h(\\eta)$')\n",
    "ax.legend(loc=0,fontsize=18)\n",
    "ax.set_xlabel('$2 x^2$',fontsize=18)\n",
    "ax.set_ylabel('$h(\\eta)$',fontsize=18)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "Basic \\LaTeX{} formatting works for the labels in [Figure](#fig:Conditional_expectation_MSE_005).  The `loc=0` in the `legend`\n",
    "function is the code for the *best* placement for the labels in the legend. The\n",
    "individual labels should be specified when the elements are drawn individually,\n",
    "otherwise they will be hard to separate out later. This is accomplished using\n",
    "the `label` keyword in the `plot` commands."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe47e2e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.pyplot import subplots\n",
    "from pandas import DataFrame\n",
    "import numpy as np\n",
    "\n",
    "d = DataFrame(columns=['xi','eta','x','h','h1','h2'])\n",
    "# 100 random samples\n",
    "d.x = np.random.rand(100)\n",
    "d.xi = d.eval('2*x**2')\n",
    "d.eta =1-abs(2*d.x-1)\n",
    "d.h1=d[(d.x<0.5)].eval('eta**2/2')\n",
    "d.h2=d[(d.x>=0.5)].eval('(2-eta)**2/2')\n",
    "d.fillna(0,inplace=True)\n",
    "d.h = d.h1+d.h2\n",
    "\n",
    "fig,ax=subplots()\n",
    "_=ax.plot(d.xi,d.eta,'.k',alpha=.3,label=r'$\\eta$')\n",
    "_=ax.plot(d.xi,d.h,'ks',label=r'$h(\\eta)$',alpha=.3)\n",
    "_=ax.set_aspect(1)\n",
    "_=ax.legend(loc=0,fontsize=18)\n",
    "_=ax.set_xlabel(r'$\\xi=2 x^2$',fontsize=24)\n",
    "_=ax.set_ylabel(r'$h(\\eta),\\eta$',fontsize=24)\n",
    "fig.tight_layout()\n",
    "#fig.savefig('fig-probability/Conditional_expectation_MSE_Ex_005.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-probability/Conditional_expectation_MSE_Ex_005.png, width=500 frac=0.85]  The diagonal line shows where the conditional expectation equals the $\\xi$ function. <div id=\"fig:Conditional_expectation_MSE_005\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:Conditional_expectation_MSE_005\"></div>\n",
    "\n",
    "<p>The diagonal line shows where the conditional expectation equals the $\\xi$ function.</p>\n",
    "<img src=\"fig-probability/Conditional_expectation_MSE_Ex_005.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "[Figure](#fig:Conditional_expectation_MSE_005) shows the $\\xi$ data plotted\n",
    "against $\\eta$ and $h(\\eta) = \\mathbb{E}(\\xi|\\eta)$. Points on the diagonal\n",
    "are points where $\\xi$ and $\\mathbb{E}(\\xi|\\eta)$ match. As shown by the  \n",
    "dots, there is no agreement between the raw $\\eta$ data and $\\xi$. Thus, one\n",
    "way to think about the conditional expectation is as a functional transform\n",
    "that bends the curve onto the diagonal line. The black dots plot $\\xi$\n",
    "versus $\\mathbb{E}(\\xi|\\eta)$ and the two match everywhere along the diagonal\n",
    "line. This is to be expected because the conditional expectation is the MSE\n",
    "best estimate for $\\xi$ among all functions of $\\eta$. \n",
    "\n",
    "## Example\n",
    "\n",
    "This is Exercise 2.14 from Brzezniak. Find $\\mathbb{E}(\\xi|\\eta)$ where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\xi(x) = 2 x^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\eta =\n",
    "\\begin{cases} 2x & \\mbox{if } 0 \\le x < \\frac{1}{2} \\\\ 2x-1 & \\mbox{if } \\frac{1}{2} < x \\le 1 \\end{cases}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and $X$ is uniformly distributed in the unit interval.  This is the\n",
    "same as the last example and the only difference here is that $\\eta$ is not\n",
    "continuous at $x=\\frac{1}{2}$, as before. The first part is exactly the same as\n",
    "the first part of the prior example so we will skip it here. The second part\n",
    "follows the same reasoning as the last example, so we will just write the\n",
    "answer for the $\\{\\eta = 2x-1\\}$ case as the following"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "h(\\eta)=\\frac{(1+\\eta)^2}{2} , \\: \\forall \\eta \\: \\in [0,1]\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  and then adding these up as before gives the full solution:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "h(\\eta)= \\frac{1}{2} +\\eta + \\eta^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The interesting part about this example is shown in [Figure](#fig:Conditional_expectation_MSE_006). The dots show where $\\eta$ is\n",
    "discontinuous and yet the $h(\\eta)=\\mathbb{E}(\\xi|\\eta)$ solution is equal to\n",
    "$\\xi$ (i.e., matches the diagonal). This illustrates the power of the orthogonal\n",
    "inner product technique, which does not need continuity or complex\n",
    "set-theoretic arguments to calculate solutions. By contrast, I urge you to\n",
    "consider Brzezniak's solution to this problem which requires such  methods."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe4cb630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "d = DataFrame(columns=['xi','eta','x','h','h1','h2'])\n",
    "d.x = np.random.rand(100) # 100 random samples\n",
    "d.xi = d.eval('2*x**2')\n",
    "d['eta']=(d.x<0.5)*(2*d.x)+(d.x>=0.5)*(2*d.x-1)\n",
    "d.h1=d[(d.x<0.5)].eval('eta**2/2')\n",
    "d.h2=d[(d.x>=0.5)].eval('(1+eta)**2/2')\n",
    "d.fillna(0,inplace=True)\n",
    "d.h = d.h1+d.h2\n",
    "fig,ax=subplots()\n",
    "_=ax.plot(d.xi,d.eta,'.k',alpha=.3,label='$\\eta$')\n",
    "_=ax.plot(d.xi,d.h,'ks',label='$h(\\eta)$',alpha=0.3)\n",
    "_=ax.set_aspect(1)\n",
    "_=ax.legend(loc=0,fontsize=18)\n",
    "_=ax.set_xlabel('$2 x^2$',fontsize=24)\n",
    "_=ax.set_ylabel('$h(\\eta),\\eta$',fontsize=24)\n",
    "fig.tight_layout()\n",
    "#fig.savefig('fig-probability/Conditional_expectation_MSE_Ex_006.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-probability/Conditional_expectation_MSE_Ex_006.png, width=500 frac=0.85] The diagonal line shows where the conditional expectation equals the $\\xi$ function. <div id=\"fig:Conditional_expectation_MSE_006\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:Conditional_expectation_MSE_006\"></div>\n",
    "\n",
    "<p>The diagonal line shows where the conditional expectation equals the $\\xi$ function.</p>\n",
    "<img src=\"fig-probability/Conditional_expectation_MSE_Ex_006.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "Extending projection methods to random variables provides multiple ways for\n",
    "calculating solutions to conditional expectation problems. In this section, we\n",
    "also worked out corresponding simulations using a variety of Python modules. It\n",
    "is always advisable to have more than one technique at hand to cross-check\n",
    "potential solutions. We worked out some of the examples in Brzezniak's\n",
    "book using our methods as a way to show multiple ways to solve the same\n",
    "problem. Comparing Brzezniak's measure-theoretic methods to our less abstract\n",
    "techniques is a great way to get a handle on both concepts, which are important\n",
    "for advanced study in stochastic process."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
